Const
n = 5;
var
a: array[1..n, 1..n] of integer;
i, j, m, nmax, nmin, jmax, jmin: integer;
begin
Randomize;
writeln('Исходный массив');
for i := 1 to n do
begin
nmax := -100;
nmin := 100;
for j := 1 to n do
begin
a[i, j] := Random(24) - 8;
if nmax < a[i, j] then
begin
nmax := a[i, j];
jmax := j
end;
if nmin > a[i, j] then
begin
nmin := a[i, j];
jmin := j
end;
write(a[i, j]:4)
end;
writeln;
a[i, jmax] := nmin;
a[i, jmin] := nmax
end;
writeln(#13#10, 'Результирующий массив');
for i := 1 to n do
begin
for j := 1 to n do write(a[i, j]:4);
writeln
end
end.
Тестовое решение:
Исходный массив
-4 8 3 7 5
-7 -7 1 8 0
14 0 0 1 -1
14 7 -5 -1 14
7 6 1 -6 14
Результирующий массив
8 -4 3 7 5
8 -7 1 -7 0
-1 0 0 1 14
-5 7 14 -1 14
7 6 1 14 -6
А) .txt - обыкновенный текстовый формат. Является.
B) .odt - текстовый документ программы OpenOffice. Является.
C) .rtf - формат обмена документами Above и Microsoft. Является.
Методом исключения выбираем ответ : D).
//Код, уродливый как кхм
//Pascal ABC.NET 3.1 сборка 1219
Const
n=1;
m=2;
Var
ar1:array[1..m] of integer;
ar2:array[1..n] of integer;
arr:array[1..n+m] of integer;
i,p,raz,ost,isec:integer;
begin
write('Введите основание СС:');
readln(p);
writeln('Введите число 1:');
for i:=1 to m do
readln(ar1[i]);
writeln('Введите число 2:');
for i:=1 to n do
readln(ar2[i]);
if n>m then
begin
i:=n;
isec:=m;
while (i<>0) and (isec<>0) do
begin
if ar2[i]+ar1[isec]>=p then
begin
ost:=(ar2[i]+ar1[isec]) div p;
arr[i]:=(ar2[i]+ar1[isec]) mod p;
end
else
begin
arr[i]:=ar2[i]+ar1[isec]+ost;
ost:=0;
end;
dec(i);
dec(isec);
inc(raz);
end;
arr[i]:=ost;
ost:=i;
for i:=1 to ost do
begin
arr[i]:=arr[i]+ar2[i];
inc(raz);
end;
while arr[1]>=p do
begin
ost:=arr[1] div p;
arr[1]:=arr[1] mod p;
for i:=raz downto 1 do
arr[i+1]:=arr[i];
arr[1]:=ost;
inc(raz);
end;
end
else
begin
i:=m;
isec:=n;
while (i<>0) and (isec<>0) do
begin
if ar1[i]+ar2[isec]>=p then
begin
ost:=(ar1[i]+ar2[isec]) div p;
arr[i]:=(ar1[i]+ar2[isec]) mod p;
end
else
begin
arr[i]:=ar1[i]+ar2[isec]+ost;
ost:=0;
end;
dec(i);
dec(isec);
inc(raz);
end;
if n<>m then
begin
arr[i]:=ost;
ost:=i;
for i:=1 to ost do
begin
arr[i]:=arr[i]+ar1[i];
inc(raz);
end;
end
else
begin
for i:=raz downto 1 do
arr[i+1]:=arr[i];
arr[1]:=ost;
inc(raz);
end;
while arr[1]>=p do
begin
ost:=arr[1] div p;
arr[1]:=arr[1] mod p;
for i:=raz downto 1 do
arr[i+1]:=arr[i];
arr[1]:=ost;
inc(raz);
end;
end;
writeln('Result:');
for i:=1 to raz do
write(arr[i]:4);
end.
Пример работы программы:
Введите основание СС:3
Введите число 1:
2
2
Введите число 2:
1
Result:
1 0 0
const m = 100;
<span>var i,n,s,mx: integer;
</span><span> a: array[1..m] of integer;
</span><span>begin
</span><span> write('размер массива: '); readln(n);
</span><span> randomize;
</span><span> s:=0; mx:= -12;
</span><span> writeln('исходный массив: ');
</span><span> for i:=1 to n do
</span><span> begin
</span><span> a[i]:=random(-11,34);
</span><span> write(a[i],' ');
</span><span> if (a[i]<0) and (a[i]>mx) then mx:=a[i];
</span><span> if ((a[i]>0) and (a[i] mod 2 = 1)) then s:=s+a[i];
</span><span> end;
</span><span> writeln;
</span><span> writeln('максимальный среди отрицательных: ',mx);
</span><span> writeln('сумма нечетных положительных: ',s);
</span><span>end.
</span>размер массива: 15
<span>исходный массив:
</span><span>17 -10 17 0 5 2 26 9 27 8 21 19 18 5 21
</span><span>максимальный среди отрицательных: -10
</span><span>сумма нечетных положительных: 141
</span><span>
</span>