Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/40: Рейтинг темы: голосов - 40, средняя оценка - 5.00
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70

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

03.01.2009, 11:05. Показов 7547. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу, которая находит и выводит на экран самое короткое слово. Строка вводится с клавиатуры. Все слова ограничены пробелами, предложение заканчивается точкой.
P.S. Я уже 2-ой день мучаюсь, ну никак не идет. Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2009, 11:05
Ответы с готовыми решениями:

В заданном предложении найти самое короткое и самое длинное слово
1. Создать вектор М, содержащий количество отрицательных элементов каждого столбца матрицы z(3,4). 2. В заданном предложении найти...

Найти самое короткое и самое длинное слово в тексте
С клавиатуры вводится текст. Составте программу, которая определяет самое короткое и самое длинное слово (напишите, пожалуйста программу...

Дан текст. По порядку, самое короткое слово, заменить на самое длинное слово, если их длины не совпадают
Дан текст. Первое по порядку самое короткое слово текста заменить на первое по порядку самое длинное слово, если их длины не совпадают.

5
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
03.01.2009, 12:49
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
var s,p,s1,s2:string;
    min,len,i:integer;
begin
  clrscr;
  writeLn('Vvedite stroku: ');//строка может идти и после точки
  readLn(s);
  writeln;
  p:=copy(s,1,pos('.',s)-1)+' ';//выделяем первое предложение до точки, но без нее и добавляем пробел
  s1:=''; min:=255;//за мин берем самое возможно длинное слово
  while pos(' ',p) > 0 do //пока в предложении есть пробелы
   begin
    len:=pos(' ',p)-1; //определяем длину слова от начала до пробела
      s1:=copy(p,1,len);//запоминаем это слово
    if len < min then //если оно короче предыдущего короткого
      begin
        s2:=s1; //запоминаем его еще раз
        min:=len;//запоминаем его длину
      end;
    delete(p,1,pos(' ',p));//удаляем просмотренное слово
   end;
  write(s2);//выводим самое короткое
  readLn;
end.
2
8 / 7 / 3
Регистрация: 03.01.2009
Сообщений: 70
03.01.2009, 12:55  [ТС]
Puporev, большое спасибо. Как же быстро вы, всё-таки, программы пишите! Еще раз спасибо.
0
 Аватар для AlexQ
35 / 35 / 6
Регистрация: 01.01.2009
Сообщений: 141
03.01.2009, 13:00
А вот и мой вариант. Немного подлинее, правда, но зато выполняется по-любому.

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
program str;
uses crt;
var
 s,smin: string;
 i,j,count,min,l: integer;
begin
 clrscr;
 count:=0;
 min:=256;
 l:=1;
 write('->');
 readln(s);
 for i:=1 to length(s) do
  begin
   if s[i]='.' then
    begin
     if count<min then
      begin
       min:=count;
       smin:='';
       for j:=i-min to i-1 do
        begin
         smin:=smin+s[j];
         l:=l+1;
        end;
      end;
   if min=256 then
    write(s);
    end
   else if s[i]=' ' then
    begin
     if count<min then
      begin
       min:=count;
       smin:='';
       for j:=i-min to i-1 do
        begin
         smin:=smin+s[j];
         l:=l+1;
        end;
      end;
     l:=1;
     count:=0;
    end
   else count:=count+1;
  end;
 write(smin);
end.
Puporev, ваша программа мне не вывела результата:'(.

Добавлено через 4 минуты 29 секунд
А, понял. У вас точка обязательна.
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
03.01.2009, 13:05
Если текст введен в соответствии с условием, а именно под него писалась программа, т.е. текст это несколько слов через пробел, потом точка, дальше еще может текст, он в игре не участвует. В таком случае программа все нормально выводит, а именно самое короткое слово из тех, что до точки. И почему у меня все всегда работает, а у других (далеко не всех!) нет.
0
 Аватар для AlexQ
35 / 35 / 6
Регистрация: 01.01.2009
Сообщений: 141
03.01.2009, 20:02
Мне свойственно невнимательно читать условия, прошу прошения. Я думал, точка необязательна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.01.2009, 20:02
Помогаю со студенческими работами здесь

Найти самое короткое слово
дано предложение. найти самое короткое слово (между слов может быть больше,чем один пробел). помогите пожалуйста :)

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

Найти самое короткое слово в предложении
вот она &quot;Задано предложение, состоящее из слов-строк. Написать программу, которая находит самое короткое слово в предложении.&quot;

найти самое короткое слово в тексте
Люди!! прошу вас, помогите! срочно нужно написать прогу на Паскале(( суть: найти самое короткое слово в тексте и если таких несколько, то...

Найти самое короткое слово в тексте
Дан текст... Найти самое маленькое слово


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru