Можете перевести с паскаля в c++ var
a, n, i, sum, c, min: integer;
begin
sum := 0;
c := 0;
min := 10001;
read(n);
for i := 1 to n do begin
read(a);
sum := sum + a;
c := c + 1;
if(a < min) and (a mod 4 <> 0) then min := a;
end;
if(sum mod 4 = 0) and (min <> 10001) then begin sum := sum - min; c := c - 1; end;
if(sum mod 4 = 0) then begin write(0); exit; end;
writeln(c, ' ', sum);
end.
Не сказала бы, что это решение сильно отличается от уже имеющегося, но
а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.
б)ну не могла я пропустить задачу по паскалю)
Program n1;
Uses CRT;
Const n=10;
Var a: array[1..n] of integer;
i,s,k: integer;
begin
ClrScr;
Randomize;
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:3);
If a[i]=i then
begin
s:=s+a[i];
writeln('s=',s);
k:=k+1;
end;
end;
writeln;
If k=0 then writeln('таких элементов нет') else
Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4);
readln
end.