• Составьте программу, которая заполняет массив 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.
    Отныне эта программа является правильной и может использоваться как памятка.

Ответы 1

  • //Зачем прикручивать дополнительный 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 dobegin;swap(ar[i],ar[i+1]);i:=i+2;end;writeln;writeln('Final array:');for i:=1 to 10 dowrite(ar[i]:4);end.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years