
Вопрос задан 21.03.2020 в 15:14.
Предмет Информатика.
Спрашивает Лушников Дмитрий.
Этот код на Паскале отвечает за нахождение самого длинного слова в одной! строчке. Нужно сделать
так, чтобы можно было записать сколько угодно строчек и он нашёл в них самое длинное слово (цикл добавить, по-моему). var s,st,smax: string; i:byte; BEGIN readln(s); if s[length(s)]<>' ' then s:=s+' '; st:=''; smax:=''; for i:=1 to length(s) do if s[i]<>' ' then st:=st+s[i] else begin if length(smax) smax:=st; st:=''; end; writeln('Самое длинное слово: ',smax); writeln('Кол-во букв: ',length(smax)); END.

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

Отвечает Мукомел София.
Var
s,st,smax: string;
i:byte;
BEGIN
writeln('Вводите строки. Конец ввода: <Enter> в начале строки.');
readln(s);
st:=''; smax:='';
while s<>'' do begin
if s[length(s)]<>' ' then s:=s+' ';
for i:=1 to length(s) do
if s[i]<>' ' then st:=st+s[i]
else begin
if length(st)>length(smax) then smax:=st;
st:='';
end;
readln(s);
end;
writeln('Самое длинное слово: ',smax);
writeln('Кол-во букв: ',length(smax));
END.
Пример (начало стихотворения “The Road Not Taken”, Роберт Ли Фрост):
Вводите строки. Конец ввода: <Enter> в начале строки.
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth.
Самое длинное слово: undergrowth.
Кол-во букв: 12
s,st,smax: string;
i:byte;
BEGIN
writeln('Вводите строки. Конец ввода: <Enter> в начале строки.');
readln(s);
st:=''; smax:='';
while s<>'' do begin
if s[length(s)]<>' ' then s:=s+' ';
for i:=1 to length(s) do
if s[i]<>' ' then st:=st+s[i]
else begin
if length(st)>length(smax) then smax:=st;
st:='';
end;
readln(s);
end;
writeln('Самое длинное слово: ',smax);
writeln('Кол-во букв: ',length(smax));
END.
Пример (начало стихотворения “The Road Not Taken”, Роберт Ли Фрост):
Вводите строки. Конец ввода: <Enter> в начале строки.
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth.
Самое длинное слово: undergrowth.
Кол-во букв: 12



Отвечает Смирнов Евгений.
Так пойдет?
//Pascal
var s, s1, max: string;
begin
writeln('Введите !exit для выхода.');
repeat
write('Введите строку: ');
readln(s);
if s <> '!exit' then
begin
s := s + ' '; // max:='';
while Pos(' ', s) > 0 do
begin
s1 := Copy(s, 1, Pos(' ', s) - 1);
Delete(s, 1, Pos(' ', s));
if Length(s1) > Length(max) then max := s1;
end;
end;
until s = '!exit';
writeln('Самое длинное слово среди всех строк = ', max);
writeln('Кол-во букв: ', Length(max));
readln;
end.
Пример:
Введите !exit для выхода.
Введите строку: test
Введите строку: testtest
Введите строку: testtesttest
Введите строку: 123
Введите строку: 1234
Введите строку: 12345
Введите строку: !exit
Самое длинное слово среди всех строк = testtesttest
Кол-во букв: 12
//Pascal
var s, s1, max: string;
begin
writeln('Введите !exit для выхода.');
repeat
write('Введите строку: ');
readln(s);
if s <> '!exit' then
begin
s := s + ' '; // max:='';
while Pos(' ', s) > 0 do
begin
s1 := Copy(s, 1, Pos(' ', s) - 1);
Delete(s, 1, Pos(' ', s));
if Length(s1) > Length(max) then max := s1;
end;
end;
until s = '!exit';
writeln('Самое длинное слово среди всех строк = ', max);
writeln('Кол-во букв: ', Length(max));
readln;
end.
Пример:
Введите !exit для выхода.
Введите строку: test
Введите строку: testtest
Введите строку: testtesttest
Введите строку: 123
Введите строку: 1234
Введите строку: 12345
Введите строку: !exit
Самое длинное слово среди всех строк = testtesttest
Кол-во букв: 12


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

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili