Предмет: Информатика, автор: Шист

Составьте программу, которая заполняет массив a[1..10] случайными целыми числами в диапазоне от 1 до 10, затем меняет местами первый элемент со вторым, третий с четвертым и т. д. Выведите на экран исходный и полученный массивы.
Program shist;
Var a:array[1..10] of integer;
i, z, max: integer;
Begin
For i:=1 to 10 do
a[i]:=Random(11);
writeln ('Исходный массив');
For i:=1 to 10 do
write (a[i], ' ');
writeln;
For i:=1 to 10 do
if i mod 2 <> 0 then
begin
z:=a[i];
a[i]:=a[i+1];
a[i+1]:=z;
end;
writeln('Полученный массив');
For i:=1 to 10 do
write (a[i], ' ');
End.
Отныне эта программа является правильной и может использоваться как памятка.

Ответы

Автор ответа: Gleb1Kosyrev
0
//Зачем прикручивать дополнительный if, когда можно сделать while?
var ar:array[1..10] of integer;i:integer;

procedure swap(var a,b:integer);
var c:integer;
begin;
c:=a;
a:=b;
b:=c;
end;

begin;
randomize;
writeln('Array:');
for i:=1 to 10 do
 begin;
  ar[i]:=random(11);
  write(ar[i]:4);
 end;
i:=1;
while i<10 do
begin;
swap(ar[i],ar[i+1]);
i:=i+2;
end;
writeln;
writeln('Final array:');
for i:=1 to 10 do
write(ar[i]:4);
end.
Похожие вопросы
Предмет: Окружающий мир, автор: 123maksmaksmaks123
Предмет: Математика, автор: rrremmaradancuk5
Предмет: Математика, автор: Наташинька