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

Как найти самое длинное слово в строке в паскале

  • автор:

Как найти самое длинное слово в строке в паскале

Сообщений: 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 Кб, 48 просмотров)

". В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал. "
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 29.12.2011 в 23:08 .

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

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

  • w - длина очередного слова
  • min - длина самого короткого слова

Алгоритм решения задачи:

  1. Если очередной символ строки является буквой, то увеличить значение переменной w .
  2. Иначе
    1. проверить не меньше ли значение w (при этом значение w не должно быть равно 0) чем min ; если это так, то перезаписать значение min ;
    2. обнулить значение w .

    Программа на языке Паскаль:

    var s: string; i, w, min: byte; begin readln(s); min := 255; w := 0; // длина очередного слова for i:=1 to length(s) do if (s[i] >= 'a') and (s[i] 0) then min := w; w := 0 end; // проверка последнего слова if (w < min) and (w <>0) then min := w; writeln('The shortest length of word: ', min); end.

    Пример выполнения программы:

    blue, color red! The shortest length of word: 3

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

    Напечатать самое длинное слово из заданного текста. В конце текста стоит ".".
    Помогите плиз. На завтро нуно.

    4 ответа

    17 ноября 2006 года
    2.2K / / 04.02.2006

    нечетко сформулировал вопрос. текст откуда берется: получаем из файла, или вводим из клавиатуры?

    набросала приблизителный алгоритм, Паскаль не знаю, так что надо кое-что добавить и изменить

    len, maxlen, i : Integer;
    str, temp, maxstr : String;
    < . задать текст в str >
    maxlen = 0;
    len = 0;
    max = "";
    temp = "";
    for i := 0 to Length(str) begin
    if str(i) = '.' then .
    if str(i) = ' ' tnen begin
    if maxlen < len then begin
    maxstr = temp;
    maxlen = len;
    end;
    len = 0;
    temp = "";
    else begin
    len := len + 1;
    temp = temp + str(i);
    end;
    end;
    writeln(maxstr);

    17 ноября 2006 года
    267 / / 25.07.2006

    В проге выше есть один небольшой баг.
    Если строка не оканчивается на пробел,
    тогда последнее слово не проверяется.
    И еще один вариант

    program pr;
    var
    maxlen, maxpos, lastsp, curlen, i, n: Integer;
    str: String;
    begin
    WriteLn('Vveidite stroku : ');
    ReadLn(str);
    n := Length(str);
    maxlen := 0;
    lastSp := 0;
    curlen := 0;
    for i:=1 to n do begin
    if str = '.' then Break;
    if str = ' ' then begin
    if curlen > maxlen then begin
    maxlen := curlen;
    maxpos := lastsp + 1;
    end;
    curlen := 0;
    lastsp := i; end
    else
    Inc(curlen);
    end;
    if curlen > maxlen then begin
    maxlen := curlen;
    maxpos := lastsp + 1;
    end;
    if maxlen > 0 then
    WriteLn('Stroka s max.dlinoj = ', Copy(str, maxpos, maxlen))
    else
    WriteLn('Indjuk, ti vvel pustuju stroku');
    ReadLn;
    end.

    Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

    Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

    Самое длинное слово в строке, паскаль.

    26.05.2017 | Автор Дмитрий

    Самое длинное слово в строке, паскаль.
    Пробел — символ окончания слова.

    program StrAllWord; var s_Str, s_Word: string; i, n, i_Index: integer; i_Ac: integer; i_Max: integer; begin i_Max := 0; i_Ac := 0; //счетчик символов s_Str := 'The green grass covered the whole glade'; n := length(s_Str); for i := 1 to n do begin //проверка на символ пробела в строке if s_Str[i] = ' ' then begin if i_Max  i_Ac then begin i_Max := i_Ac; i_Index := i-i_Ac; //начало слова s_Word := copy(s_Str, i_Index, i_Max); end; i_Ac := 0; end else i_Ac := i_Ac + 1; end; WriteLn('Исходная строка: ', s_Str); WriteLn('Самое длинное слово в строке: ', s_Word,' кол-во сим: ', i_Max); //завершение работы программы WriteLn('Нажмите , чтобы выйти.'); ReadLn(); end.  

    Самое длинное слово в строке, паскаль.

    Рубрика: Pascal (Паскаль) - задачи и решения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *