Найти первую гласную и последнюю согласную затем удалить всё между ними - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Создать текстовый файл, записать туда строку с любыми символами. Найти

В ФАЙЛЕ

первую гласную из этой строки, последнюю согласную и удалить все, что находится между ними. Затем перезаписать получившийся результат в текстовый файл. Рабочие (дополнительные) файлы не использовать. Работать с маленькими английскими буквами (в англ. буквах искать согласную и гласную, а не в русских). Помогите, пожалуйста, никак не могу сообразить как это сделать...

Решение задачи: «Найти первую гласную и последнюю согласную затем удалить всё между ними»

textual
Листинг программы
  1. uses crt;
  2. var gl,sgl,abc: set of char;
  3. f1,f2:text;
  4. s:string;
  5. m,n,i:byte;
  6. begin
  7. clrscr;
  8. assign(f1,'text1.in');
  9. assign(f2,'text1.out');
  10. rewrite(f1);
  11. randomize;
  12. for i:=1 to random(256) do write(f1,chr(ord('a')+random(26)));
  13. close(f1);
  14. writeln('Iz fayla text1.in: ');
  15. reset(f1);
  16. readln(f1,s);
  17. writeln(s);
  18. abc:=['a'..'z']; {Ves alfavit}
  19. gl:=['a','o','e','i','y','u']; {Glasnie}
  20. sgl:=abc-gl; {Soglasnie}
  21. m:=0;n:=length(s);
  22. while not(s[m] in gl)and(m<=length(s)) do m:=m+1;
  23. while not(s[n] in sgl)and(n>=1) do n:=n-1;
  24. writeln('Dlinna=',length(s),' nomer pervoy glasnoy=',m,' posledney soglasnoy=',n);
  25. delete(s,m+1,n-m-1);
  26. writeln('Posle obrabotki v fayl text1.out - ',s);
  27. rewrite(f2);
  28. writeln(f2,s);
  29. close(f2);
  30. end.

Объяснение кода листинга программы

  1. Объединение файлов с помощью функции assign для чтения и записи.
  2. Заполнение случайными символами файла f1 с помощью цикла for и функции write.
  3. Чтение содержимого файла f1 в строку s с помощью функции readln.
  4. Определение глобальных и строковых переменных с помощью выражения ord('a') для получения числового представления символа 'a'.
  5. Определение гласных и согласных букв с помощью множеств gl, sgl, и abc.
  6. Поиск первой гласной буквы в строке s с помощью цикла while и проверки условия s[m] in gl.
  7. Поиск последней согласной буквы в строке s с помощью цикла while и проверки условия s[n] in sgl.
  8. Удаление символов между первой гласной и последней согласной буквами с помощью функции delete.
  9. Запись измененной строки s в файл f2 с помощью функции writeln.
  10. Перезапись файла f1 с помощью функции rewrite.
  11. Закрытие файлов f1 и f2 с помощью функции close.
  12. Завершение программы с помощью ключевого слова end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы