Var A:array[1..1000] of integer; B:array[1..3] of integer; i,N:integer; Begin Write('N = ');ReadLn(N); For i:= 1 to N do Begin Read(A[i]); if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i]; if A[i] mod 2 = 0 then B[2]:=B[2]+A[i]; End; WriteLn; For i:= 1 to N do Write(A[i],' '); B[3]:=B[1]+B[2]; WriteLn('B[1] = ',B[1]); WriteLn('B[2] = ',B[2]); WriteLn('B[3] = ',B[3]); End.
или так:
Var A:array of integer; B:array[1..3] of integer; i,N:integer; Begin Write('N = ');ReadLn(N); A:=new integer[N]; For i:= 0 to N-1 do Begin Read(A[i]); if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i]; if A[i] mod 2 = 0 then B[2]:=B[2]+A[i]; End; WriteLn; For i:= 0 to N-1 do Write(A[i],' '); B[3]:=B[1]+B[2]; WriteLn('B[1] = ',B[1]); WriteLn('B[2] = ',B[2]); WriteLn('B[3] = ',B[3]); End.
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer; b:array [1..10] of longint; c:integer; i,max,n:longint; begin write('Введите число элементов массива: '); readln(n); max:=0; for i:=1 to 10 do b[i]:=0; for i:=1 to n do begin a[i]:=random(10)+1; write(a[i],' '); b[a[i]]:=b[a[i]]+1 end; for i:=1 to 10 do if b[i]>max then begin c:=i; max:=b[i] end; writeln; writeln('Чаще всего в массиве встречается число ',c) end.
A:array[1..1000] of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
For i:= 1 to N do
Begin
Read(A[i]);
if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
End;
WriteLn;
For i:= 1 to N do
Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.
или так:
Var
A:array of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
A:=new integer[N];
For i:= 0 to N-1 do
Begin
Read(A[i]);
if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
End;
WriteLn;
For i:= 0 to N-1 do
Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.