Занести в файл 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' выводится количество 'о' в тексте.
- Закрываются все файлы перед завершением программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д