Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 08.11.2015
Сообщений: 3
1

Вывести на экран слова в порядке невозрастания (убывания) их длин

11.11.2015, 19:20. Показов 1792. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов, вывести на экран слова в порядке убывания их длин.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2015, 19:20
Ответы с готовыми решениями:

Вывести на печать слова в порядке невозрастания их длин
Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов,...

Вывести слова в порядке убывания их длин
Дано предложение состоящее только из букв латинского алфавита с нижним и (или) верхним регистром...

Вывести все слова строки в порядке убывания их длин
Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить количество слов...

Вывести на экран слова текста в порядке невозрастания их длины
Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов,...

2
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
12.11.2015, 12:46 2
Лучший ответ Сообщение было отмечено The_Hamann как решение

Решение

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
49
50
51
52
53
54
55
56
57
58
59
60
Const divword = [' ','.',',',':',';','-','+','*','/','\','(',')'];
Type
  words = ^twords;
  twords = Record
             S    : String;
             Next : words;
           end;
Var
  St    : String;
  w0,w  : words;
  i,j   : Byte;
 
Procedure AddS(ss : String);
Var t : words;
Begin
  New(t);
  t^.S:=ss; t^.Next:=nil;
  w:=w0;
  if w=nil then w0:=t
  else
  Begin
    While (w^.Next<>nil) and (Length(w^.Next^.S)>=Length(ss)) do w:=w^.Next;
    If (w=w0) and (Length(w^.S)<Length(ss)) then
    Begin
      t^.Next:=w0;
      w0:=t;
    end
     else
     Begin
       t^.Next:=w^.Next;
       w^.Next:=t;
     end;
  end;
end;
 
Begin
  w0:=nil;
  Repeat
   {Readln(St);}
   {-}St:=' 1.  Закономерность   - это проявление      закона   на   поверхности   явлений   в    виде    правильной    повторяемости       явлений     при    определенных    условиях.   ';{-}
 
    i:=1;
    While i<=Length(St) do
    Begin
      While (i<=Length(St)) and (St[i] in divword) do Inc(i);
      j:=i;
      While (j<=Length(St)) and not (St[j] in divword) do Inc(j);
      If i<>j then AddS(Copy(St,i,j-i));
      i:=j;
    end;
  Until {St=''} {-}True{-} ;
  
  While w0<>nil do
  Begin
   Writeln(w0^.S);
    w:=w0;
    w0:=w0^.Next;
    Dispose(w);
  end;
end.
0
0 / 0 / 1
Регистрация: 08.11.2015
Сообщений: 3
14.12.2015, 17:51  [ТС] 3
(Перенесено из дублирующей темы)

Желательно, но не критично Pascal ABC.NET
Подозреваю, что начало программы должно выглядеть примерно так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
  s:array[1..10] of string;
  l,i,j,n:integer;
  t:string;
begin
  writeln('Введите текст (не более 10 строк. Конец ввода - пустая строка)>');
  n:=0;
  repeat
    n:=n+1;
    readln(s[n]);
  until (s[n]='') or (n=10);
0
14.12.2015, 17:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2015, 17:51
Помогаю со студенческими работами здесь

Даны три строки. Вывести строки на экран в порядке убывания их длин
Даны три строки. Вывести строки на экран в порядке убывания их длин. Вот что я написал ...

Вывести в порядке невозрастания (убывания) элементы, находящиеся в диапазоне между A и B
Не могу решить задачу. Дан одномерный массив из N случайных действительных чисел в диапазоне от 11...

Вывести в порядке невозрастания (убывания) элементы массива, модуль которых больше 2
Собственно сама задачка : Дан одномерный массив из N случайных действительных чисел в диапазоне от...

Как вывести в порядке невозрастания (убывания) элементы массива, модуль которых больше 2
5. Дан одномерный массив из N случайных действительных чисел в диапазоне от -4 до 8 . Вы-вести в...


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

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