//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
type
s_b = record
s_d: array[1..31, 0..9]of integer;
s_o: array [0..9] of string;
d_m: array [1..31] of byte;
end;
var
r, d: s_b;
begin
r.s_o[0] := 'еда';
r.s_o[1] := 'zilie';
r.s_o[2] := 'oby4';
d.s_o[1] := 'myz';
d.s_o[2] := 'zina';
for var a := 1 to 31 do
for var b := 0 to 9 do
begin
r.s_d[a, b] := 0;
r.d_m[a] := a;
d.s_d[a, b] := 0;
d.d_m[a] := a;
end;
Println(r);
Println(d);
end.
покороче, убрано лишнее
Program n2;
const n=10;
var a: array [1..n] of integer;
i,k,j,temp: integer;
begin
randomize;
writeln('исходный массив');
k:=0;
for i:=1 to n do
begin
a[i]:=random(201)-100;
write(a[i],' ');
end;
writeln;
writeln('полученный массив: ');
for i:=1 to n do
for j:=i to n do
if a[j]>a[i] then
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp
end;
for i:=1 to n do begin
write(a[i],' ');
if (a[i]<0) and (i mod 2=0) then k:=k+1;
end;
writeln;
write('кол-во отрицательных элементов на четных местах: ',k);
end.
var m:array[1..100000] of integer;
a,b,sum,sum2,n,k,i:integer;
begin
sum:=0;
k:=0;
sum2:=0;
readln(a,b,n);
randomize;
for i:=1 to n do begin m[i]:=random(a,b); if(m[i]<50) then begin sum:=sum+m[i]; k:=k+1; end;
if(m[i]>=50) then sum2:=sum2+m[i]; end;
for i:=1 to n do write(m[i],' ');
writeln;
writeln((sum/k):5:3,' ',(sum2/(n-k):5:3));
end.
Один из вариантов решения который пришел мне в голову- замена с помощью "третьей переменной". Приведу пример: Поменять а и b
c = a
a = b
b = c;
Сделаем то же самое только с массивами.
Так как я не знаю как они вам даны(файл, ввод, рандом и т.п), я оставлю фрагмент кода:
for(int i = 0; i < 24; i++)
{
c[i]=x[i];
x[i]=y[i];
y[i]=c[i];
}