Найти и записать в новый массив все слова из текста начинающиеся на букву "а" - Pascal ABC
Формулировка задачи:
Задача пожалуйста надите ошибку
Задача:
Найти и записать в новый массив все слова из текста начинающиеся на букву "а"
Решение задачи: «Найти и записать в новый массив все слова из текста начинающиеся на букву "а"»
textual
Листинг программы
var b:string; a:array[1..100] of string; n,i,j:integer; begin writeln('Введите текст на русском языке, слова разделены пробелами'); readln(b); b:=' '+b+' '; //добавим пробелы в начало и в конец для удобства n:=0; i:=2;//начнем со 2 символа, 1 пробел while i<=length(b) do if (UpCase(b[i])='А')and(b[i-1]=' ') then //если буква А, а перед ней пробел begin inc(n); //новое слово a[n]:='';//будем его составлять j:=i; while b[j]<>' ' do//пока не пробел begin a[n]:=a[n]+b[j]; inc(j); end; i:=i+length(a[n]); {перешагнем через слово} end else inc(i);//пропускаем пробелы и слова не на букву А if n=0 then write('Нет слов на буквы А,а') else begin writeln('Слова на буквы А,а'); for i:=1 to n do writeln(a[i]); end; end.
Объяснение кода листинга программы
- Объявлены переменные: b (строка), a (массив строк), n, i, j (целые числа).
- Пользователю предлагается ввести текст на русском языке, слова разделены пробелами.
- Введенный текст сохраняется в переменной b.
- Пробелы добавляются в начало и в конец строки b для удобства обработки.
- Переменная n инициализируется значением 0 и используется для подсчета количества найденных слов.
- Переменная i начинает цикл со второго символа в строке b (первый символ - пробел).
- Цикл while проверяет каждый символ в строке b.
- Если текущий символ - 'А' и предыдущий символ - пробел, то увеличивается значение переменной n и начинается формирование нового слова в массиве a.
- Переменная j инициализируется значением i и используется для обработки текущего слова.
- Цикл while внутри условия if заполняет текущее слово из символов строки b, игнорируя пробелы.
- После выхода из цикла while, значение переменной i увеличивается на длину найденного слова, чтобы перейти к следующему слову.
- Если после цикла while не было найдено ни одного слова на букву
А
, то выводится сообщениеНет слов на буквы А,а
. - Если были найдены слова на букву
А
, то выводится сообщениеСлова на буквы А,а
и каждое слово из массива a выводится на новой строке. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д