Скопировать из одного файла в другой только определенные символы (например, ряд гласных) и посчитать их общее количество.
Первый файл открывается на чтение, второй – на запись.
Первый цикл while читает поэлементно исходный файл. Если текущий символ является одним из ‘a’, ‘e’ или ‘u’, то он записывается во второй файл. Также переменная-счетчик (k) увеличивает свое значение на единицу.
После окончания чтения первого файла, оба закрываются. Далее второй файл открывается на чтение, и из него считываются и выводятся на экран данные. Их общее количество хранится в переменной k, значение которой также выводится на экран.
var f1, f2: file of char; c: char; k: integer; begin assign (f1, 'c:\file1.txt'); reset (f1); assign (f2, 'c:\file2.txt'); rewrite (f2); k := 0; while not eof (f1) do begin read (f1, c); if (c = 'a') or (c = 'e') or (c = 'u') then begin write (f2, c); k := k + 1 end end; close (f1); close (f2); reset (f2); while not eof (f2) do begin read (f2, c); write (c:2) end; writeln; writeln (k); readln end.
Комментарии
а зачем еще раз readln в
а зачем еще раз readln в конце?
readln в конце
чтобы программа не закрылась сразу, а только после нажатия на enter