Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.10.2017
Сообщений: 22
1

Процедура: определить в строке длину самого короткого и самого длинного слова

14.11.2017, 23:12. Показов 2789. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
var
    str: string;
    len, i: byte;
    shortest, longest, current: byte;
begin
    readln(str);
    len := length(str);
    shortest := 255;
    longest := 0;
    current := 0;
    for i:=1 to len do begin
        if (str[i] <> ' ') then
           current := current + 1
        else begin
            if current < shortest then
                shortest := current;
            if current > longest then
                longest := current;
            current := 0;
        end;
    end;
    if current < shortest then
        shortest := current;
    if current > longest then
        longest := current;
 
    writeln('Cамое длинное слово состоит из: ',longest,' символов.');
    writeln('Самое короткое слово состоит из: ',shortest,' символов.');
readln;
end.
эту программу нужно написать через процедуры, как бы не пытался добавить не выходит
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2017, 23:12
Ответы с готовыми решениями:

Дана строка, состоящая из слов, разделенных пробелами. Определить длину самого короткого и самого длинного
1.Дана строка, состоящая из русских слов, разделенных пробелами.Определить длину самого короткого и...

Найти длину самого короткого слова в предложении
Найти длину самого короткого слова в предложении

Найти длину самого короткого и самого длинного слова
пожалуйста помогите решать эту программу мне надо блок схема и программа. Дана строка, содержащая...

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

9
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
15.11.2017, 00:50 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
procedure shortest(str: string);
begin
  var s := 255;
  var current := 0;
  for var i := 1 to str.Length do begin
    if (str[i] <> ' ') then
      current := current + 1
    else begin
      if current < s then
        s := current;
      current := 0;
    end;
  end;
  if current < s then
    s := current;
  writeln('Самое короткое слово состоит из: ', s, ' символов.');
end;
 
procedure longest(str: string);
begin
  var l := 0;
  var current := 0;
  for var i := 1 to str.Length do begin
    if (str[i] <> ' ') then
      current := current + 1
    else begin
      if current > l then
        l := current;
      current := 0;
    end;
  end;
  if current > l then
    l := current;
  writeln('Cамое длинное слово состоит из: ', l, ' символов.');
end;
 
begin
  var str := ReadlnString;
  longest(str);
  shortest(str);
end.
Ну и как вариант, с фишками PABC.Net (для раздумий )
Pascal
1
2
3
4
5
begin
  var str := ReadlnString.ToWordsas;
  writelnformat('Самое длинное слово состоит из {0} символов.', str.Where(v -> v.Length = str.Max(c -> c.Length)).First.Length);
  writelnformat('Самое короткое слово состоит из {0} символов.', str.Where(v -> v.Length = str.Min(c -> c.Length)).First.Length);
end.
0
0 / 0 / 0
Регистрация: 15.10.2017
Сообщений: 22
15.11.2017, 01:17  [ТС] 3
Описать процедуру, которая определяет из строки символов длину самого короткого и самого длинного слова.
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,047
15.11.2017, 07:22 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure FindLens(s : String; var mi, ma : Integer);
begin
  try
    var d := ' .,?!:;"'.ToCharArray;
    var l := s.toWords(d).select(word->word.length);
    (mi,ma) := (l.Min,l.Max);
  except
  end;
end;
 
begin
  var minLen, maxLen : Integer;
  FindLens(ReadLnString('Введите строку символов:'), minLen, maxLen);
  WriteLn('Длина самого короткого и самого длинного слов строки соответственно: ' + minLen + ' и ' + maxLen + '.');
end.
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,047
15.11.2017, 07:24 5
Hitoku, „ToWordsas“?
0
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
15.11.2017, 12:19 6
JuriiMW, очевидно, опечатка
0
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,047
15.11.2017, 12:21 7
Hitoku, а ТС будет в печальке ;–(
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32977 / 21288 / 8175
Регистрация: 22.10.2011
Сообщений: 36,565
Записей в блоге: 8
15.11.2017, 12:41 8
Я тоже в печальке...

str.Where(v -> v.Length = str.Max(c -> c.Length)).First.Length - что это за ужас?
Pascal
1
2
3
4
5
begin
  var str := ReadlnString.ToWords;
  writelnformat('Самое длинное слово состоит из {0} символов.', str.MaxBy(s -> s.Length).Length);
  writelnformat('Самое короткое слово состоит из {0} символов.', str.MinBy(s -> s.Length).Length);
end.
не проще?
1
JuriiMW
16.11.2017, 07:01
  #9

Не по теме:

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

Цитата Сообщение от Dragoss Посмотреть сообщение
написать через процедуры

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32977 / 21288 / 8175
Регистрация: 22.10.2011
Сообщений: 36,565
Записей в блоге: 8
16.11.2017, 10:22 10
Я не ТС-у адресовал свой ответ вообще-то. Если кто-то пишет, используя средства .NET-а, громоздкий код, который можно значительно сократить, я что, тоже ничего говорить не имею права?
0
16.11.2017, 10:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2017, 10:22
Помогаю со студенческими работами здесь

Найти длину самого короткого слова и самого длинного слова
Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова. Как...

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

Определить длину самого длинного слова в строке
С клавиатуры вводится строка символов. Определить длину самого длинного слова в строке. ...

Процедура определения самого длинного слова в строке
процедура определения самого длинного слова в строке Паскаль


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

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