Занести в файл h только согласные буквы из исходного файла - Turbo Pascal
Формулировка задачи:
Записать в текстовый файл N русских строчных символов. Выполнить следующие операции с созданным файлом:
- Получить в другом файле тот же текст, записанный заглавными буквами;
- Занести в файл h только согласные буквы из исходного файла;
- Написать программу, которая ищет количество букв «о» в данном файле и удаляет их.
Решение задачи: «Занести в файл h только согласные буквы из исходного файла»
textual
Листинг программы
- function UCase(c: Char): Char;
- begin
- case c of
- 'a'..'z','а'..'п': Dec(c,$20);
- 'р'..'я': Dec(c,$50);
- 'ё': Dec(c);
- end;
- UCase:=c;
- end;
- const
- ruLo = ['а'..'п','р'..'я','ё'];
- ruLoVow = ['а','е','и','о','у','ы','э','ю','я','ё'];
- ruLoCons = ruLo-ruLoVow-['ъ','ь'];
- var
- f: array [0..3] of Text;
- c: Char;
- i, n: Integer;
- begin
- Assign(f[0],'0.txt'); Reset(f[0]);
- for i:=1 to 3 do begin
- Assign(f[i],Chr(Ord('0')+i)+'.txt'); Rewrite(f[i]);
- end;
- while not EoF(f[0]) do begin
- Read(f[0],c);
- Write(f[1],UCase(c));
- if c in ruLoCons then Write(f[2],c);
- if c='о' then Inc(n) else Write(f[3],c);
- end;
- WriteLn('Количество "о": ',n);
- for i:=0 to 3 do Close(f[i]);
- end.
Объяснение кода листинга программы
- Функция UCase принимает символ и увеличивает его код на 20 для согласных букв 'a'..'z', на 50 для 'р'..'я' и на 1 для 'ё'.
- Константы ruLo, ruLoVow и ruLoCons представляют собой списки символов.
- Переменные f, c и i используются для чтения и записи в файлы.
- Цикл for используется для чтения символов из файла '0.txt' и записи символов в файлы '1.txt', '2.txt' и '3.txt'.
- Если символ является согласной буквой, он записывается в файл '2.txt'.
- Если символ - 'о', увеличивается счетчик 'n'.
- После окончания чтения символов из '0.txt' выводится количество 'о' в тексте.
- Закрываются все файлы перед завершением программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д