Вводятся строки. Определить самую длинную строку и вывести ее номер на экран. Если самых длинных строк несколько, то вывести номера всех таких строк.
При считывании строк, каждую из них следует поместить в массив.
Предположим, что первая строка самая длинная. Присвоим ее индекс переменной.
Переберем все элементы-строки массива, начиная со второго. Если длина очередной строки больше, чем той, индекс которой записан в переменной (п. 2), то записать в эту переменную индекс текущей строки.
Снова переберем все элементы массива строк. Если длина очередной строки совпадает с длиной той строки, индекс которой хранится в переменной (п. 2), то вывести ее номер на экран.
Pascal
Самая длинная строка паскаль
const N = 5;
var
ss: array[1..N] of string;
i,ind: byte;
begin
for i:=1 to N do begin
write(i,'-я: ');
readln(ss[i]);
end;
ind:=1;
for i:=2 to N do
if length(ss[i]) > length(ss[ind]) then
ind := i;
for i:=1 to N do
if length(ss[i]) = length(ss[ind]) then
write(i, ' ');
writeln;
end.
1-я: this is town
2-я: cat walk
3-я: lamp
4-я: blue lamp!!!
5-я: ok
1 4
Язык Си
#include < stdio.h>
#include < string.h>
#define N 5
main() {
char str[N][30];
int i,ind;
for (i=0; i< N; i++) {
printf("%d-я: ",i+1);
gets(str[i]);
}
ind = 0;
for (i=1; i< N; i++)
if (strlen(str[i]) > strlen(str[ind]))
ind = i;
for (i=0; i< N; i++)
if (strlen(str[i]) == strlen(str[ind]))
printf("%d ",i+1);
printf("\n");
}
Python
# Вариант 1
N = 5
a = []
for i in range(N):
print(i+1, end='-я: ')
a.append(input())
ind = 0
for i in range(1, N):
if len(a[i]) > len(a[ind]):
ind = i
for i in range(N):
if len(a[i]) == len(a[ind]):
print(i+1)
# Вариант 2
N = 5
a = [input(str(i + 1) + '-ая: ') for i in range(N)]
max_len = max([len(i) for i in a])
[print(i+1, end=' ') for i in range(N) if len(a[i]) == max_len]
КуМир
алг самая длиная строка
нач
лит таб ss[1:5]
цел i, id
нц для i от 1 до 5
вывод i, "-я: "
ввод ss[i]
кц
id := 1
нц для i от 2 до 5
если длин(ss[i]) > длин(ss[id]) то
id := i
все
кц
нц для i от 1 до 5
если длин(ss[i]) = длин(ss[id]) то
вывод i, " "
все
кц
кон
Basic-256
N = 5
dim s$(N,20)
for i=0 to N-1
print (i+1)+"-я: ";
input s$[i]
next i
ind = 0
for i=1 to N-1
if length(s$[i]) > length(s$[ind]) then ind = i
next i
for i=0 to N-1
if length(s$[i]) = length(s$[ind]) then print i+1
next i
Подписаться
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal
Самая длинная строка паскаль
const N = 5; var ss: array[1..N] of string; i,ind: byte; begin for i:=1 to N do begin write(i,'-я: '); readln(ss[i]); end;
ind:=1; for i:=2 to N do if length(ss[i]) > length(ss[ind]) then ind := i;
for i:=1 to N do if length(ss[i]) = length(ss[ind]) then write(i, ' '); writeln; end.
1-я: this is town 2-я: cat walk 3-я: lamp 4-я: blue lamp!!! 5-я: ok 1 4
Язык Си
#include < stdio.h> #include < string.h> #define N 5 main() { char str[N][30]; int i,ind; for (i=0; i< N; i++) { printf("%d-я: ",i+1); gets(str[i]); } ind = 0; for (i=1; i< N; i++) if (strlen(str[i]) > strlen(str[ind])) ind = i;
for (i=0; i< N; i++) if (strlen(str[i]) == strlen(str[ind])) printf("%d ",i+1); printf("\n"); }
Python
# Вариант 1
N = 5
a = [] for i in range(N): print(i+1, end='-я: ') a.append(input())
ind = 0 for i in range(1, N): if len(a[i]) > len(a[ind]): ind = i
for i in range(N): if len(a[i]) == len(a[ind]): print(i+1)
# Вариант 2
N = 5
a = [input(str(i + 1) + '-ая: ') for i in range(N)] max_len = max([len(i) for i in a]) [print(i+1, end=' ') for i in range(N) if len(a[i]) == max_len]
КуМир
алг самая длиная строка нач лит таб ss[1:5] цел i, id нц для i от 1 до 5 вывод i, "-я: " ввод ss[i] кц id := 1 нц для i от 2 до 5 если длин(ss[i]) > длин(ss[id]) то id := i все кц нц для i от 1 до 5 если длин(ss[i]) = длин(ss[id]) то вывод i, " " все кц кон
Basic-256
N = 5 dim s$(N,20) for i=0 to N-1 print (i+1)+"-я: "; input s$[i] next i
ind = 0 for i=1 to N-1 if length(s$[i]) > length(s$[ind]) then ind = i next i for i=0 to N-1 if length(s$[i]) = length(s$[ind]) then print i+1 next i