Дан массив символьных строк. Найдите строку, в которой наибольшее количество знаков...

0 голосов
52 просмотров

Дан массив символьных строк. Найдите строку, в которой наибольшее количество знаков арифметических операций: + - * / и вывести на экран все строки , кроме нее. Если таких строк несколько,то не выводить их все.


Информатика (77 баллов) | 52 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

(194k баллов)