Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

Ответ
 
Опции темы
Старый 20.12.2016, 12:46   #1
kiryavolk
 
Регистрация: 16.12.2016
Сообщений: 5
Репутация: 10
По умолчанию Найти в строке самое короткое и самое длинное слова

Задача Паскаль хитрая задачка...

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

Последний раз редактировалось kiryavolk; 20.12.2016 в 13:05.
kiryavolk вне форума   Ответить с цитированием
Старый 20.12.2016, 15:52   #2
Plague
Забанен
Форумчанин
 
Аватар для Plague
 
Регистрация: 01.11.2006
Адрес: ЯНАО
Сообщений: 371
Репутация: 376
По умолчанию

И в чем хитрость задачи?
__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума   Ответить с цитированием
Старый 20.12.2016, 16:26   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 21,190
Репутация: 4811
По умолчанию

думаю, что для него все задачи "хитрые" и "сложные",
когда не понимаешь, как их решать и что делать, тогда сложно.


kiryavolk, что хитрого в задаче?
что не получается? Чем разделяются слова?


Цитата:
Сообщение от kiryavolk Посмотреть сообщение
учесть вариант, что их может быть больше 1
это можно учитывать так:
вариант 1
либо два прохода по строке - первый находим минимальную/максимальную длину,
второй проход - вывод слов с заданной длиной.

вариант 2
один проход, при нахождении слова максимальной/минимальной длины запоминаем его (добавляем к запомненному, если слово такой длины уже было ранее). Запоминать слова можно как угодно, вплоть до того, что накапливать их в строке.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 25.12.2016, 10:14   #4
newerow1989
Я самый любопытный
Профессионал
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Адрес: RU, Алтайский край, Красногорский р-н, с. Балыкса, ул. Центральная Сообщений: 7,541 Репутация: 37104
Сообщений: 1,399
Репутация: 1336

skype: newerow1989
По умолчанию

Код:

type tArrs=array of string;

procedure Analiz(s:string; var st:tArrs);
var i,count:integer;
    s1:string;
begin
   count:=0;
   SetLength(st,0);
   While s<>'' do
   begin
      i:=Pos(' ',s);
      If i>0 then
      begin
         s1:=Copy(s,1,i-1);
         Delete(s,1,i);
      end else
      begin
         s1:=s;
         s:='';
      end;
      If s1<>'' then
      begin
         count:=count+1;
         SetLength(st,count);
         st[count-1]:=s1;
      end;
   end;
end;

var s:string;
    st:tArrs;
    i,len1,len2:integer;
begin
   Write('s = ');Readln(s);
   Analiz(s,st);
   len1:=Length(st[Low(st)]);
   len2:=Length(st[Low(st)]);
   For i:=Low(st)+1 to High(st) do
   begin
      If len1>Length(st[i]) then
         len1:=Length(st[i]);
      If len2<Length(st[i]) then
         len2:=Length(st[i]);
   end;
   If len1=len2 then
      Writeln('< все слова равны >') else
      For i:=Low(st) to High(st) do
      begin
         If Length(st[i])=len1 then
            Writeln(st[i]);
         If Length(st[i])=len2 then
            Writeln(st[i]);
      end;
   Readln;
end.

__________________
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.narod.ru
[Паскаль] [Delphi]
newerow1989 вне форума   Ответить с цитированием
Старый 28.12.2016, 21:46   #5
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 107
Репутация: 25
По умолчанию

Никто и не заметит что списал...xD
__________________
Пишу много и развернуто

Последний раз редактировалось Heneken87; 28.12.2016 в 21:49.
Heneken87 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В заданной строке текста выведите самое короткое (длинное) слово. Учтите, что таких слов может быть несколько. Удалите (удвойте) эти слова.(PascalABCNET) FlayGlam Помощь студентам 0 03.12.2016 10:58
Требуется помощь в доработке программы для работы с файлами(PASCAL): Определить самое длинное и самое короткое слова предложения DimzNOVIchok45 Помощь студентам 0 13.12.2014 16:02
С# найти самое длинное и самое короткое слово в строке и вывести их Зеленый Чай Помощь студентам 4 06.01.2012 18:40
Найти самое короткое и длинное слова и указать позиции на паскале Klik_1602 Помощь студентам 6 04.01.2011 20:39
заменить самое длинное слово, на самое короткое в Delphi сер4ей Помощь студентам 5 05.03.2009 19:40




16:16.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru