: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Паскаль, строки
технарики,найти самое длинное слово в строке
у меня без вариантов
: 0
Vladimir_S
Специалист
: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
технарики,найти самое длинное слово в строке
у меня без вариантов
VAR S:String; i,Imax,Max,Nw,i1,i2:Byte; W:Array[1..128] of String; BEGIN WriteLn(‘Enter the string:’); ReadLn(S); i:=0; Nw:=0; Repeat Repeat Inc(i); Until S[i]<>’ ‘; i1:=i; While (S[i]<>’ ‘) and (i Max then begin Imax:=i; Max:=Length(W[i]); end; WriteLn(‘The longest word is «‘+W[Imax]+'»‘); Readln END.
Источник: www.tehnari.ru
Как найти самое длинное слово в программе паскаль
Сообщений: 3
Простая прога — самое длинное и короткое слово
Решение задачи «Самое длинное слово» по теме «Чтение и запись данных. Функция open»
Написать прогу которая будет находить самое длинное и самое короткое слово. Пояснение к каждому коду + блок схема. Не бесплатно))
Made In USSR!
: 3,657
uses crt; var min, max, len, i : integer; s, str, max_str, min_str : string; begin clrscr; readln(s); // читаем строку s:=s+’ ‘; max := 0; // обнуляем переменную min := length(s); // длина строки len := 0; // обнуляем переменную max_str := »; // обнуляем переменную min_str := »; // обнуляем переменную str := »; // обнуляем переменную for i:=1 to length(s) do // циклом проходимся по всей строке — от 1-го символа и до последнего if s[i]<>’ ‘ then begin // если символ не является пробелом, то: inc(len); // увеличиваем длину слова на 1 str := str + s[i]; // присваеваем текущий символ строке, по одному символу будет собираться слово полностью end else begin if len>max then begin // если длина последнего найденного слова больше предыдущего (максимального) max := len; // присваеваем длину этого слова max_str := str; // а это само слово которое собирали по одному символу end; if len
Вложения
схема.rar (3.5 Кб, 47 просмотров) |
«. В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал. »
(c) Юрий Клинских aka «Хой»
Последний раз редактировалось Mad_Cat; 29.12.2011 в 23:08 .
Источник: www.programmersforum.ru
Задачи по Pascal. Найти самое длинное слово предложения
Задачи по Pascal
Автор cyber На чтение 3 мин.
Условие задачи : Найти самое длинное слово заданного предложения и вывести его длину.
Сложность : средняя .
Как мы будем решать эту задачу . Для начала создадим каркас нашей программы .
PASCAL.Строки.Решение задач.
Стоит сказать что в программе Delphi лучше не делать там нужен какой то модуль который найти трудновато , так что качайте Turbo или FreePascal.
program prog1 ; Uses crt; begin end.
Решать задачу мы будем следующим образом . Мы будем считывать каждый нажатый нами символ с клавиатуры , затем заносить его в переменную и потом в зависимости от условия , что то с ним делать .
program prog1 ; Uses crt; var maxsl,sl:string; simvol:char; kol,maxkol:integer; begin end.
Переменные типа string нужны для того что бы в одну из них занести самое длинное слово а в другую мы будем заносить букву за буквой и затем получив слово проверять его на длину.
В переменную типа char мы будем заносить нашу букву , а затем прибавлять в переменной sl и таким образом у нас получиться слово .
В переменные типа integer мы будем заносить количество символов в слове .
Дальше мы задаём цикл repeat until , чтобы считывать символы с клавиатуры и будем вводить до тех пор пока не поставим точку .
Repeat simvol:=Readkey; Write(simvol); Until simvol=’.’;
Ну просто вводить символы нам не нужно . Нам нужно найти самое длинное слово, для этого мы пишем в цикле условие :
if not(simvol=’ ‘) and not(simvol=’.’) then begin inc(kol); sl:=sl+simvol; end
Оно проверяет что на данный момент у нас в переменной simvol , если не точка и не пустота , то мы начинаем собирать наше слово и увеличиваем количество символов на 1 .
Если эти два условия не выполняются not(simvol=’ ‘) and not(simvol=’.’) , то уже идет следующее :
else begin if length(sl) > maxkol then begin maxkol:=kol; maxs:=sl; end; sl:=»; k:=0; end;
т.е. здесь мы просто работаем с нашим словом . Считываем его длину и записываем в переменную maxsl самое длинное слово и так пока мы не нажмем точку .
И нам остается только вывести наши результаты на экран .
Весь текст программы :
program prog1 ; Uses crt; var maxsl,sl:string; simvol:char; kol,maxkol:integer; begin ClrScr; Write(‘Vvedite vashy stroky : ‘); Repeat simvol:=Readkey; Write(simvol); if not(simvol=’ ‘) and not(simvol=’.’) then begin inc(kol); sl:=sl+simvol; end else begin if length(sl)>maxkol then begin maxkol:=kol; maxs:=sl; end; sl:=»; k:=0; end; Until simvol=’.’; Writeln; Writeln(‘Samoe dlinnoe slovo : ‘, maxsl); Writeln(‘kol. simvolov v nem = ‘, maxkol); Readln; End.
Источник: cyberlesson.ru