Срочно. Напишите программу, которая заполняет массив случайными числами в диапазоне [a,...

0 голосов
59 просмотров

Срочно. Напишите программу, которая заполняет массив случайными числами в диапазоне [a, b], выводит его на экран, а затем выполняет реверс отдельно первой и второй половин массива. При изменении количества элементов в массиве программа должна работать правильно без дополнительных изменений. Пожалуйста, с объяснениями и комментариями.


Информатика (1.0k баллов) | 59 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (n,a,b):=ReadInteger3('Введите размер массива и границы диапазона:');
  var M:=ArrRandom(n,a,b); M.Println;
  var d:=n div 2; // середина массива
  M:=(M[:d].Reverse+M[d:].Reverse).ToArray; M.Println
end.

Пример
Введите размер массива и границы диапазона: 16 10 99
68 50 17 92 62 69 18 16 36 83 27 68 98 92 44 12
16 18 69 62 92 17 50 68 12 44 92 98 68 27 83 36
(150k баллов)
0 голосов
//PascalABC.NET
//Версия 3.3. сборка 1583 (25.11.2017)


begin
writeln('Введите диапазон:');
write('От:'); var a:= ReadInteger; // Ввод а с целым типом
write('До:'); var b:= ReadInteger;  // Ввод б с целым типом

var m:array[1..10] of integer;     // описание массива

writeln('Начальный массив: ');
for var i:=1 to 10 do       // генерация и вывод массива
    begin
    m[i]:=random(a,b);
    write(m[i]:4);
    end;

writeln;

for var i:=1 to 2 do  // переворот первой части(способом обмена 1 с 5, 2 с 4)
    begin
    var t:=m[i];
    m[i]:=m[6-i];
    m[6-i]:=t;
    end;

for var i:=6 to 7 do // переворот второй части(способом обмена 6 с 10, 7 с 9)
    begin
    var t:=m[i];
    m[i]:=m[16-i];
    m[16-i]:=t;
    end;
writeln('Измененный массив:'); // вывод измененного массива 
for var i:=1 to 10 do
    write(m[i]:4);
end.
(5.8k баллов)
0

что такое readlnteger?

0

и способ обмена 1 с 5, 2 с 4 и пр.?

0

Прочитать данные и присвоить им тип целых

0

Способ обмена при помощи воспомогательной переменной, в моем случае т

0

Например т присваиваю 1, 1 в свою очередь 5, а 5 уже присвоить т