Найти первую гласную и последнюю согласную затем удалить всё между ними - PascalABC.NET
Формулировка задачи:
Создать текстовый файл, записать туда строку с любыми символами. Найти
В ФАЙЛЕ
первую гласную из этой строки, последнюю согласную и удалить все, что находится между ними. Затем перезаписать получившийся результат в текстовый файл. Рабочие (дополнительные) файлы не использовать. Работать с маленькими английскими буквами (в англ. буквах искать согласную и гласную, а не в русских). Помогите, пожалуйста, никак не могу сообразить как это сделать...Решение задачи: «Найти первую гласную и последнюю согласную затем удалить всё между ними»
textual
Листинг программы
uses crt; var gl,sgl,abc: set of char; f1,f2:text; s:string; m,n,i:byte; begin clrscr; assign(f1,'text1.in'); assign(f2,'text1.out'); rewrite(f1); randomize; for i:=1 to random(256) do write(f1,chr(ord('a')+random(26))); close(f1); writeln('Iz fayla text1.in: '); reset(f1); readln(f1,s); writeln(s); abc:=['a'..'z']; {Ves alfavit} gl:=['a','o','e','i','y','u']; {Glasnie} sgl:=abc-gl; {Soglasnie} m:=0;n:=length(s); while not(s[m] in gl)and(m<=length(s)) do m:=m+1; while not(s[n] in sgl)and(n>=1) do n:=n-1; writeln('Dlinna=',length(s),' nomer pervoy glasnoy=',m,' posledney soglasnoy=',n); delete(s,m+1,n-m-1); writeln('Posle obrabotki v fayl text1.out - ',s); rewrite(f2); writeln(f2,s); close(f2); end.
Объяснение кода листинга программы
- Объединение файлов с помощью функции
assign
для чтения и записи. - Заполнение случайными символами файла
f1
с помощью циклаfor
и функцииwrite
. - Чтение содержимого файла
f1
в строкуs
с помощью функцииreadln
. - Определение глобальных и строковых переменных с помощью выражения
ord('a')
для получения числового представления символа 'a'. - Определение гласных и согласных букв с помощью множеств
gl
,sgl
, иabc
. - Поиск первой гласной буквы в строке
s
с помощью циклаwhile
и проверки условияs[m] in gl
. - Поиск последней согласной буквы в строке
s
с помощью циклаwhile
и проверки условияs[n] in sgl
. - Удаление символов между первой гласной и последней согласной буквами с помощью функции
delete
. - Запись измененной строки
s
в файлf2
с помощью функцииwriteln
. - Перезапись файла
f1
с помощью функцииrewrite
. - Закрытие файлов
f1
иf2
с помощью функцииclose
. - Завершение программы с помощью ключевого слова
end
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д