0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 101
1

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

18.10.2013, 20:45. Показов 3038. Ответов 6
Метки нет (Все метки)

Найти самое длинное слово в предложении и указать его порядковый номер. Если в предложении встречается несколько таких слов, то указать порядковый номер последнего, длинного слова. Слово может состоять из больших и маленьких букв русского алфавита. Длина строки не превышает 100 символов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 20:45
Ответы с готовыми решениями:

В заданном предложении найти самое короткое и самое длинное слово
Делаю все строго по гайду, но после ввода строки вылетает "exit code = 201". Пишу в free pascal'е....

Найти самое длинное слово в предложении
Задача: найти самое длинное слово в предложении помогите пожалуйста найти ошибку в программе

Найти самое длинное слово в предложении.
Задано предложение, состоящее из слов, разделённым одним или несколькими пробелами. Найти самое...

Поменять местами в предложении самое длинное и самое короткое слово.
Помогите пожалуйста доделать задачу: Поменять местами в предложении самое длинное и самое короткое...

6
23 / 23 / 28
Регистрация: 14.10.2013
Сообщений: 55
18.10.2013, 21:02 2

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
var s: string;
j, i, k, l, max, a, b: integer;
 
begin
read (s);
insert (' ', S, length(s)+1);
l:=0;
for j:=1 to length(s) do
begin
         if (s[j]=' ') then
            begin
             k:=j;
             if (k-l>max) then
             begin
                 a:=l;
                 b:=k;
                 max:=b-a;
             end;
             l:=j;
             end;
 
end;
for i:=a+1 to b-1 do
begin
    write (s[i]);
end;
end.
1
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 101
19.10.2013, 07:42  [ТС] 3
А можно объяснить построчно,что эта программа делает?
0
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.10.2013, 08:25 4
Немного переделал под условие
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
uses crt;
var s: string;
    j, i, k, l, max, a, b: integer;
    c:char;
begin
clrscr;
//введем текст по условию
writeln('Введите текст из малых ибольших руссеих букв, слова разделенв одним пробелом.');
writeln('Окончание ввода Enter');
s:='';
repeat
c:=readkey; //читаем код символа
if c in ['А'..'я','Ё','ё',' ']then //если символ русская буква или пробел
 begin
  write(c);//выводим
  s:=s+c //добавляем в строку
 end;
if c=#13 then writeln//Enter конец ввода и на новую строку
until c=#13;
s:=' '+s;//добавим пробел в начало строки
l:=0;//начало слова
for j:=1 to length(s) do
 begin
  if (s[j]=' ') then
   begin
    k:=j;//конец слова
    if (k-l>=max) then//если их разность больше или равно макс
                      //(так находим последнее)
     begin
      a:=l; //запомним начало
      b:=k; //и конец
      max:=b-a;//новый макс
     end;
    l:=j;//новое начало
   end;
 end;
writeln('Последнее самое длинное слово:');
for i:=a+1 to b-1 do //выводим макс от начала до конца
write (s[i]);
readln
end.
1
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 101
19.10.2013, 08:28  [ТС] 5
А если в предложении встречается несколько таких слов, как указать порядковый номер последнего, длинного слова.
0
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.10.2013, 08:47 6
Еще исправил текст под Турбо Паскаль

Добавлено через 1 минуту
Сейчас добавлю номер, его не было в предыдущем мне коде

Добавлено через 17 минут
Там оказывается ошибки были, пока нашел и исправил...
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
uses crt;
var s: string;
    j, i, k, l, max, a, b, n, nmax: integer;
    c:char;
begin
clrscr;
//введем текст по условию
writeln('Введите текст из малых ибольших руссеих букв, слова разделенв одним пробелом.');
writeln('Окончание ввода Enter');
s:='';
repeat
c:=readkey; //читаем код символа
if c in ['А'..'я','Ё','ё',' ']then //если символ русская буква или пробел
 begin
  write(c);//выводим
  s:=s+c //добавляем в строку
 end;
if c=#13 then writeln//Enter конец ввода и на новую строку
until c=#13;
s:=s+' ';//добавим пробел в конец строки
max:=0; //максимальная длина слова
n:=0;//номер слова
l:=1;//начало слова
k:=0;//его конец
for j:=1 to length(s) do
 begin
  if (s[j]=' ') then
   begin
    n:=n+1;
    k:=j;//конец слова
    if (k-l>=max) then//если их разность больше или равно макс
                      //(так находим последнее)
     begin
      a:=l; //запомним начало
      b:=k; //и конец
      max:=b-a;//новый макс
      nmax:=n
     end;
    l:=j;//новое начало
   end;
 end;
writeln('Последнее самое длинное слово:');
for i:=a+1 to b-1 do //выводим макс от начала до конца
write (s[i]);
writeln;
write('Его номер=',nmax);
readln
end.
1
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 101
19.10.2013, 11:48  [ТС] 7
А напишите пожалуйста алгоритм и математическую модель данной задачи!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2013, 11:48
Помогаю со студенческими работами здесь

Определить самое длинное и самое короткое слово в предложении
Определить самое длинное и самое короткое слово в предложении, при условии, что каждое слово...

Найти самое длинное слово в файле и номер строки, в которой оно находится
Для файла f1 содержащего символьную информацию , найти самое длинное слово и номер строки в которой...

Вывести самое длинное слово в предложении
Товарищи мне вновь нужна ваша помощь. Дана строка-предложение на русском языке. Вывести самое...

Строки. Ввести предложение , найти самое длинное слово и удалить его.
Ввести предложение , найти самое длинное слово и удалить его.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru