Вопрос задан 29.07.2023 в 11:22. Предмет Информатика. Спрашивает Матюшёнок Стефания.

Pascal ABC Дана строка, состоящая из маленьких английских букв и цифр. Удалить гласные буквы в

конце строки от последней не гласной буквы или цифры (конечные гласные буквы). Вывести преобразованную строку и количество удаленных символов
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Оганян Михаил.
Const
  gl='aeiouy';
 
var
  s:string;
  i,l,n,p:integer;
 
begin
  Write('Введите строку: '); Readln(s);
  l:=Length(s);
  for i:=l downto 1 do
    if pos(s[i],gl)=0 then begin
      p:=i+1; n:=l-p+1;
      Delete(s,p,n);
      Writeln(s); Writeln('Удалено символов: ',n);
      break
      end
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи в Pascal ABC (или Pascal) нужно выполнить следующие шаги:

  1. Написать функцию, которая будет проверять, является ли символ гласной буквой.
  2. Написать основную программу, которая будет считывать строку, обрабатывать ее и выводить результат.

Вот код на Pascal ABC:

pascal
function IsVowel(ch: char): boolean; const Vowels: set of char = ['a', 'e', 'i', 'o', 'u']; begin Result := ch in Vowels; end; procedure RemoveTrailingVowels(var str: string; var removedChars: integer); var i, lastNonVowelIndex: integer; begin removedChars := 0; lastNonVowelIndex := -1; // Найдем индекс последней не гласной буквы или цифры for i := Length(str) downto 1 do begin if not (IsVowel(str[i]) or (str[i] in ['0'..'9'])) then begin lastNonVowelIndex := i; Break; end; end; // Удаляем конечные гласные буквы if lastNonVowelIndex >= 1 then begin removedChars := Length(str) - lastNonVowelIndex; if removedChars > 0 then Delete(str, lastNonVowelIndex + 1, removedChars); end; end; var inputStr: string; removedCharsCount: integer; begin Write('Введите строку из маленьких английских букв и цифр: '); Readln(inputStr); RemoveTrailingVowels(inputStr, removedCharsCount); Writeln('Преобразованная строка: ', inputStr); Writeln('Количество удаленных символов: ', removedCharsCount); end.

Как это работает:

  1. Функция IsVowel проверяет, является ли переданный символ гласной буквой.
  2. Процедура RemoveTrailingVowels находит индекс последней не гласной буквы или цифры в строке, а затем удаляет все символы справа от этого индекса.
  3. Основная программа считывает входную строку, вызывает процедуру RemoveTrailingVowels и выводит результат на экран.

Пример работы программы:

Введите строку из маленьких английских букв и цифр: abcd1234aeiou Преобразованная строка: abcd1234 Количество удаленных символов: 5
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос