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

Напишите программу которая выводит самое длинное слово переданной ей символьной строки

  • автор:

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

Напишите программу, которая выводит самое длинное слово переданной её символьной строки. Слово — это последовательность символов, отличных от пробела, ограниченная пробелами или концами строки. Программа должна вывести в первой строке самое длинное слово переданной ей строки, а во второй — длину этого слова. Если слов максимальной длины несколько — вывести первое встретившееся слово максимальной длины.

Нужно написать программу, которая выводит самое длинное слово в строке, а затем кол-во символов в нем

94731 / 64177 / 26122

2007 8 17-18: Функции — 3 на 27.04

Напишите программу, которая выводит самое длинное слово переданной её символьной строки. Слово – это последовательность непробельных символов, ограниченная пробелами или концами строки.

Входные данные

Входная строка содержит произвольную последовательность символов.

Выходные данные

Программа должна вывести в первой строке самое длинное слово переданной ей строки, а во второй – длину этого слова. Если слов максимальной длины несколько — вывести первое встретившееся слово максимальной длины.

Python 7 2019-2020: Строки-2 к 18-04

Напишите программу, которая выводит самое длинное слово переданной её символьной строки. Слово – это последовательность непробельных символов, ограниченная пробелами или концами строки.

Входные данные

Входная строка содержит произвольную последовательность символов.

Выходные данные

Программа должна вывести в первой строке самое длинное слово переданной ей строки, а во второй – длину этого слова. Если слов максимальной длины несколько — вывести первое встретившееся слово максимальной длины.

Самое длинное слово в строке

Вводится строка слов, разделенных пробелами. Найти самое длинное слово и вывести его на экран. Случай, когда самых длинных слов может быть несколько, не обрабатывать.

Следует ввести счетчик букв в слове. В цикле по символам строки пока очередной символ не пробел, счетчик увеличивается. Как только встречается пробел, следует сравнить значение счетчика со значением, записанным в переменной для хранения размера самого длинного слова. Если слово, которое сейчас было «измерено», длиннее, то записать его длину в эту переменную. Кроме того, надо запомнить индекс начала этого слова. Он определяется вычитанием длины слова из текущего индекса.

После того, как очередное слово было обработано, надо сбросить счетчик букв на 0.

Поскольку последнее слово может не оканчиваться пробелом, то оно будет не учтено. Поэтому после цикла надо проверить текущее значение счетчика букв.

Поскольку нам известны начало самого длинного слова в строке и его длина, то надо вывести на экран часть строки от первой буквы на длину слова. В каждом языке программирования это может быть реализовано по-разному.

Pascal

Вывести самое длинное слово в строке паскаль

 
var
s: string;
i, id, len, max, count: byte;

begin
readln(s);
len := length(s);
max := 0; // длина самого длинного слова
id := 0; // индекс начала самого длинного слова
count := 0;
for i:=1 to len do
if s[i] <> ' ' then
count := count + 1
else begin
if count > max then begin
max := count;
id := i - count;
end;
count := 0
end;

if count > max then begin // проверка последнего слова
max := count;
id := len - count + 1;
end;

writeln(copy(s,id,max));
end.
 

one two three four five six seven
three

Язык Си

 
#include < stdio.h>
#include < string.h>
main() char s[100];
int i, id, max, count, len;
gets(s);
len = strlen(s);
max = 0;
/> count = 0;
for (i=0; i < len; i++)
if (s[i] != ' ') count += 1;
else if (count > max) max = count;
- count;
>
count = 0;
>

if (count > max) max = count;
- count;
>
max += id;
for (i=id; i < max; i++)
putchar(s[i]);
printf("\n");
>

Python

найти самое длинное слово в строке python (питон)

 
# Вариант 1 - классический алгоритм
s = input()
l = len(s)
m = 0
ind = 0
count = 0
for i in range(l):
if s[i] != ' ':
count += 1
else:
if count > m:
m = count
ind = i - count
count = 0

if count > m:
m = count
ind = i - count + 1

print(s[ind:ind+m])


# Вариант 2 - с помощью встроенных функций и методов
s = input()
s = s.split()
print(max(s, key=len))

КуМир

 
алг самое длиное слово
нач
лит s
цел i,id,len,mx,count
ввод s
len := длин(s)
mx := 0
id := 0
count := 0
нц для i от 1 до len
если s[i] <> " " то
count := count + 1
иначе
если count > mx то
mx := count
id := i - count
все
count := 0
все
кц
если count > mx то
mx := count
id := len - count
все
вывод s[id:id+mx]
кон

Basic-256

 
input s$
l = length(s$)
m = 0
id = 0
c = 0
for i=1 to l
b$ = mid(s$,i,1)
if b$ <> " " then
c = c + 1
else
if c > m then
m = c
id = i -c
endif
c = 0
endif
next i

if c > m then
m = c
id = i-c
endif

print mid(s$,id,m)

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

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