Процедурное программирование на языке С. Часть 3. Файлы и структуры: Методические указания к лабораторным работам по курсам «Алгоритмические языки и программирование» и «Процедурное программирование», страница 6

Сравнив значения 2-ых полей всех структур, добавить в исходный файл максимальное число и соответствующее ему слово.

Вариант 19. В файле name7-19.txt в каждой строке записано одно слово из строчных и прописных латинских букв. В  файле name5-19.txt записано число, которое соответствует максимальному количеству букв в каждом слове файла name7-19.txt. Определить значение  m,  равное количеству строк в файле name7-19.txt. Динамически выделить участок памяти для хранения всех слов  из файла name7-19.txt. Динамически выделить память и заполнить данными из файла m структур с шаблоном из  3-х полей:

·  1-ое поле i-ой структуры содержит адрес i-ого слова файла;

·  2-ое  поле i-ой структуры – знак "+" или "-"; знак "+" записывается в случае, если в i-ом слове содержится буква  ‘g’,  знак "-" – иначе; регистр не учитывается;

·  3-е  поле  – количество букв  ‘g’ в i-ом слове.  

Добавить в исходный файл следующую информацию: в каждой новой строке –  слово, содержащее букву ‘g’,  и количество этих букв в данном слове.

 Вариант 20. В файле name7-20.txt записаны пары слов из строчных и прописных латинских букв, разделенные пробелами. Количество букв в каждом  слове из пары не превосходит 10. Сформировать массив из всех слов, используя функцию realloc(). Зафиксировать в переменной m количество пар. Динамически выделить память и заполнить данными из файла m структур с шаблоном из  3-х полей:

·  1-ое поле i-ой структуры содержит адрес первого слова i-ой пары в сформированном массиве слов;

·  2-ое  поле – адрес второго слова i-ой пары в сформированном массиве слов;

·  3-е  поле – количество одинаковых букв в словах i-ой пары (регистр не учитывается);  

Добавить в исходный файл полученную информацию: в каждой новой строке – пара слов, содержащих одинаковые буквы,  и количество этих букв.

Вариант 21. В файле m строк. В каждой строке исходного файла name7-21.txt записан текст:     "Найти корни квадратного уравнения а*x*x + в*x + с = 0",

где а, в и с – некоторые целые числа.

Определить количество строк в файле, это значение переменной m.  Динамически выделить память и заполнить данными из файла m структур с шаблоном из  3-х полей:

·  1-ое поле i-ой структуры содержит квадратное уравнение из i-ой строки файла;

·  2-ое  поле – адрес целочисленного массива из 3-х элементов – чисел  i-ой строки;

·  3-е  поле – значение дискриминанта уравнения i-ой строки.  

Записать в файл name7-21.out те уравнения, которые имеют действительные корни.

Вариант 22. Система "ГАРАНТ" состоит из нескольких баз; наименование, назначение и стоимость i-ой базы указана в  i-ой строке файла name7-22.txt. И исходный файл, и каждая его строка начинаются со слова "БАЗА". Определить количество слов "БАЗА" в файле, это значение переменной m. Динамически выделить память и заполнить данными из файла m структур с шаблоном из  3-х полей:

·  1-ое поле i-ой структуры – название базы, это символы, записанные после  каждого слова "БАЗА" до ближайшей точки из i-ой строки файла;

·  2-ое  поле – адрес участка памяти, где следует хранить назначение i-ой базы: набор символов, записанных после  названия i-ой базы до ближайшей цифры в i-ой строке;

·  3-е  поле – стоимость i-ой базы, которая соответствует символам, записанным в i-ой строке файла   после назначения i-ой базы до  символа ‘р’.

Ввести с клавиатуры название базы (название должно присутствовать в исходном файле) Перебрав значения 1-ых полей всех структур, вывести в файл   name7-22.out всю информацию об этой базе: ее название, назначение и стоимость.

Пример файла name7-22.txt

БАЗА GARANT. Законодательство России.   5190 р.

БАЗА RUS_CIS. Международное право: Россия-СНГ.    3200 р.

БАЗА MOSCOW. Нормативные акты Москвы.   3100 р.