Определить самое длинное слово каждой строки - Pascal
Формулировка задачи:
помогите решить задачу!!!
в текстовом файле который содержит 7 символьных строк определить самое длинное слово каждой строки. В программе застосоваты подпрограмму процедуру. Вивисты это слово на печать
Решение задачи: «Определить самое длинное слово каждой строки»
textual
Листинг программы
var f:text; s,s1,sd:string; i,j,k,mx:integer; begin assign(f,'input.txt');//файл в папке с программой reset(f); writeln('Самые длинные слова строк'); for k:=1 to 7 do //7 строк begin readln(f,s);//читаем строку s:=' '+s+' '; //добавим пробелы в начало и в конец для удобства mx:=0;//максимальная длина слова i:=1; while i<length(s) do//идем по строке if (s[i]<>' ')and(s[i-1]=' ') then //если не пробел, а перед ним пробел, новое слово begin s1:=''; j:=i; while(j<=length(s))and(s[j]<>' ') do //составим его begin s1:=s1+s[j]; j:=j+1; end; if length(s1)>mx then //если > всех предыдущих слов begin mx:=length(s1); sd:=s1;//новое длинное слово end; i:=i+length(s1);//перешагием через слово end else i:=i+1; //пропускаем пробелы writeln('строка ',k,': ', sd); end; close(f); end.
Объяснение кода листинга программы
- Объявлены переменные: f (файл), s, s1, sd (строка, длина слова, самое длинное слово) и i, j, k, mx (счетчики).
- Файл f открывается на чтение из файла input.txt.
- Выводится заголовок
Самые длинные слова строк
. - Происходит цикл по 7 строкам.
- В каждой итерации читается строка из файла и добавляются пробелы в начало и в конец для удобства обработки.
- Переменная mx инициализируется нулем, а переменная sd пустой строкой.
- Происходит цикл по строке, пока не встретится пробел или конец строки.
- Если текущий символ не пробел и перед ним есть пробел, то начинается обработка нового слова.
- Новое слово добавляется в переменную s1.
- Происходит цикл по оставшейся части строки, пока не встретится пробел или конец строки.
- Длина нового слова проверяется на максимальность.
- Если новое слово длиннее предыдущего самого длинного слова, то обновляются значения переменных mx и sd.
- После обработки строки выводится сообщение с номером строки и самым длинным словом.
- По завершении обработки всех строк файл закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д