![Ballaril](https://sproshu.net/uploads/ava/1/ava1374.jpg)
Ballaril
4 год назад
Дан массив символьных строк. Найдите строку, в которой наибольшее количество знаков арифметических операций: + - * / и вывести на экран все строки , кроме нее. Если таких строк неКак узнать сколько,то не выводить их все.
ОТВЕТЫ
![Elizar](https://sproshu.net/uploads/ava/3/ava3742.jpg)
Elizar
Oct 24, 2020
const n=4;
var s: array[1..n] of string;
i,j,k,max: integer;
mn: set of byte;
begin
for i:=1 to n do readln(s[i]);
max:=0; mn:=[];
for i:=1 to n do
begin
k:=0;
for j:=1 to length(s[i]) do
if s[i][j] in ['+','-','*','/'] then k:=k+1;
if k>max then begin max:=k; mn:=[i]; end
else if k=max then mn:=mn+[i];
end;
writeln('max = ',max);
for i:=1 to n do
if not(i in mn) then writeln(s[i]);
end.
Пример:
2*3+4 = 10
1024/32 = 32
5*3-2=123
8+5+7=90
max = 2
1024/32 = 32
var s: array[1..n] of string;
i,j,k,max: integer;
mn: set of byte;
begin
for i:=1 to n do readln(s[i]);
max:=0; mn:=[];
for i:=1 to n do
begin
k:=0;
for j:=1 to length(s[i]) do
if s[i][j] in ['+','-','*','/'] then k:=k+1;
if k>max then begin max:=k; mn:=[i]; end
else if k=max then mn:=mn+[i];
end;
writeln('max = ',max);
for i:=1 to n do
if not(i in mn) then writeln(s[i]);
end.
Пример:
2*3+4 = 10
1024/32 = 32
5*3-2=123
8+5+7=90
max = 2
1024/32 = 32
658
Смежные вопросы: