var
a: array [1 .. 200] of string;
n: integer;
max_s: string;
begin
write('Количество n=');
readln(n);
writeln('Слова');
for var i := 1 to n do
readln(a[i]);
max_s := '';
for var i := 1 to n do
if pos('и', a[i]) = 0 then
if length(a[i]) > length(max_s) then
max_s := a[i];
if max_s = '' then
writeln('Нет слов без "и"')
else
writeln('Самое длинное слово без "и": ', max_s);
end.
зы если таких слов несколько, то программа выведет первое из них
Вроде программу я написала, но не хочу с логическими переменными связываться. Можно как-то без них здесь? И чтоб не такая сложная программа была?
Найти в массиве самое длинное слово, в котором не встречается буква «и». Рассмотреть случай, когда нужного слова нет. Использовать функцию Pos. Вывести найденное слово.
var
a: array [1..200] of string;
n: integer;
max_s: string;
found: boolean;
begin
write('Количество n=');
readln(n);
writeln('Слова');
for var i := 1 to n do
readln(a[i]);
found := false;
max_s := '';
for var i := 1 to n do
begin
if pos('и', a[i]) = 0 then
begin
found := true; // Нашли слово без "и"
writeln(a[i]);
// Проверка на самое длинное слово
if length(a[i]) > length(max_s) then
max_s := a[i];
end;
end;
if not found then
writeln('Нет слов без "и"')
else
writeln('Самое длинное слово без "и": ', max_s);
end.