Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/75: Рейтинг темы: голосов - 75, средняя оценка - 4.57
34 / 34 / 21
Регистрация: 02.02.2012
Сообщений: 181
1

Найти самое длинное слово в строке

24.02.2013, 16:28. Показов 14349. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, решить следующую задачу, мучаюсь уже 2 дня:
Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите это слово и его длину.

Формат входных данных
Задана одна строка, содержащая пробелы. Слова разделены ровно одним пробелом.

Формат выходных данных
Необходимо вывести самое длинное слово в строке и его длину.

Пример
Ввод
a aa aaa aaaa
Вывод
aaaa
4

Вот мой код, но проходит, увы, только 3 теста из 10
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program most_length;
var s, max: string;
    i, l: integer;
begin
readln (s);
l:=0;   i:=1;
while length(s)<>0 do
    begin
    if (s[i]=' ') and (l<i-1) then
        begin
        max:=copy(s, 1, i-1);
        delete (s, 1, i);
        l:=length(max);
        i:=0;
        end
    else if (s[i]=' ') and (l>=i-1) then
        begin
        delete (s, 1, i);
        i:=0;
        end;
    i:=i+1;
    end;
if length(s) > l then max:=s;
writeln (max);
writeln (length(max));
readln;
end.
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2013, 16:28
Ответы с готовыми решениями:

Найти в строке самое длинное слово
создать программу: найти в строке, прописанного с клавиатуры, самое длинное слово

Найти самое короткое и длинное слово в строке
Вот пытался написать: uses CRT; const rz=; var s,smax,smin:string; i,max,min,p,n:integer; ...

Дана строка символов S. Определите самое длинное слово в строке
Помогите,пожалуйста)%-)Только через Паскаль

Преобразовать файл, оставив в каждой строке только самое длинное слово
Помогите написать программу: Дан файл. Преобразовать его, оставив в каждой строке только самое...

1
296 / 274 / 194
Регистрация: 03.05.2012
Сообщений: 570
24.02.2013, 18:49 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)<length(st) then
        smax:=st;
      st:='';
    end;
  writeln(smax);
  writeln(length(smax));
  readln;
end.
2
24.02.2013, 18:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2013, 18:49
Помогаю со студенческими работами здесь

Найти самое длинное слово
Найти самое длинное слово. ТУ. Во входном потоке заданные слова по одному в каждой строке. В...

Найти самое длинное слово в массиве
Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Элементами слов...

Найти самое длинное симметричное слово заданного предложения
Условие такое: Найти самое длинное симметричное слово заданного предложения, например АККА. ...

Найти самое длинное слово строки, вторая буква которого е
Дан символьный файл f. Найти самое длинное слово среди слов, вторая буква которых е. Если слов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru