экзамен по инфе на компе в профилаке с просом и типарём (1079669), страница 2
Текст из файла (страница 2)
Обнаружить коне файла можно с помощью функции-члена eof(), которая имеет такой прототип.
bool eof();
Эта функция возвращает значение true при достижении конца файла, в противном случае она возвращает значение false.
Рассмотрим прототипы перегруженных версий функции get().
istream &get (char *buf, streamsize num);
istream &get (char *buf, streamsize num, char delim);
Первая версия позволяет считывать символы в массив, заданный параметром buf, до тех пор, пока либо не будет считано num-1 символов, либо не встретится символ новой строки, либо не будет достигнут конец файла. После выполнения функции get() массив, адресуемый параметром buf, будет иметь завершающий нуль-символ. Символ новой строки, если такой обнаружится во входном потоке, не извлекается.
Вторая версия предназначена для считывания симолов в массив, заданный параметром buf, до тех пор, пока либо не будет считано num-1 символов, либо не встретится символ, заданный параметром delim, либо не будет достигнут конец файла. После выполнения функции get() массив, адресуемый параметром buf, будет иметь завершающий нуль-символ. Символ-разделитель, если такой обнаружится во входном потоке, не извлекается.
Функция getline() представляет собой еще один способ ввода данных.
istream &getline (char *buf, streamsize num);
istream &getline (char *buf, streamsize num, char delim);
Различие между фнкциями get() и getline() состоит в том, что функция getline() считывает и удаляет символ-разделитель из входного потока, а функция get() этого не делает.
Функция peek() считывает следующий символ из входного потока, не удаляя его, или значение EOF, если достигнут конец файла.
Функция seekg() перемещает указатель, отвечающий за ввод данных.
При каждом выполнении операции ввода соответствующий указатель автоматически перемещается на указанную позицию.
istream &seekg(off_type offset, seekdir origin);
-
Классы и объекты.
Объектно-ориентированное программирование построено на понятии класса. Класс- общее описание данных и функций, обрабатывающих эти данные. Класс- объединение полей данных и методов. Функции, которые принадлежат к описанию класса, называют методами. Любой метод класса имеет доступ к любым данным этого класса.
Объявление класса начинается с ключевого слова class.
class inf
{
int a;
double b;
public:
void num();
int sum();
};
void num(), int sum()- методы класса inf
int a, double b поля данных класса inf
По умолчанию члены класса являются закрытыми(private). Чтобы сделать части класса открытыми(т.е. доступными для других частей программы), необходимо объявить их после ключевого слова public.
Для создания объекта классового типа используется имя класса.
inf i1,i2;
Для доступа к полям данных класса используется оператор “точка” (.) .
i1.a=2;
Чтобы реализовать функцию, которая является членом класса, необходимо сообщить компилятору, какому классу она принадлежит, квалифицировав имя этой функции именем класса.
void inf ::num()
{a=a+2;
cout<<a;
}
“::”-оператор разрешения области видимости(квалифицирует имя члена вместе именем его класса)
Вызов функции для классового элемента.
i1.num();
-
Особенности сортировки файлов
В большинстве случаев файлы имеют слишком большой размер для полного переноса в оперативную память, поэтому сложность сортировки файла оценивается как в целом, так и по отдельным методам сортировки массивов, на которые разделен файл.
Для сортировки файлов используют методы.
-метод слияния
-метод осциллирующей сортировки
-метод многофазной сортировки
Поэтому возникает необходимость частичной сорировки файлов в оперативной памяти и в последующем слиянии.
Особенностью сортировки обусловлена тем, что сложность слияния всегда побеждает и работа с большими файлами всегда занимант длительное время.
Сортировка методом слияния - Программа сортирует входной файл методом слияния и записывает результат в выходной файл.
-
Члены класса – методы и поля.
Объектно-ориентированное программирование построено на понятии класса. Класс- общее описание данных и функций, обрабатывающих эти данные. Класс- объединение полей данных и методов. Функции, которые принадлежат к описанию класса, называют методами. Любой метод класса имеет доступ к любым данным этого класса.
Объявление класса начинается с ключевого слова class.
class inf
{
int a;
double b;
public:
void num();
int sum();
};
void num(), int sum()- методы класса inf
int a, double b поля данных класса inf
По умолчанию члены класса являются закрытыми(private). Чтобы сделать части класса открытыми(т.е. доступными для других частей программы), необходимо объявить их после ключевого слова public.
-
Сортировка файлов методом слияния
В основе метода слияния лежит объединение двух отсортированных файлов в один файл большего размера. Сортировка методом слияния состоит из двух рекурсивных вызовов с последующей процедурой слияния.
Одним из наиболее примечательных свойств сортировки методом слияния является то, что она сортирует N элементов, за время, пропорциональное NlogN, независимо от характера входных данных.
Сортировка слиянием- устойчивая сортировка, к тому же данный вид сортировки реализуется таким образом, что осуществляется в основном последовательный доступ к данным. Данный вид сортировки идеально подходит для связных списков.












