Заполнить массив из 10 элементов случайными числами в интервале от [-10...10] и выполнить инверсию отдельно от первой и второй половин массива. Уже есть готовая программа Помогите с объяснить что да как делается!

Заполнить массив из 10 элементов случайными числами в интервале от [-10...10] и выполнить инверсию отдельно от первой и второй половин массива. Уже есть готовая программа Помогите с объяснить что да как делается!
Гость
Ответ(ы) на вопрос:
Гость
1.  Из-за ошибок программа не запустится. - в блоке описания переменных отсутствует  var - clrscr не будет работать без подключенного модуля CRT. Да она и не особо нужна для решения этой задачи. Как и не нужен readln в предпоследней строке. 2. После устранения недостатков получим, что  первый цикл: Заполняет массив сл. значениями и выводит его на экран в одной строке. for i:=1 to 10 do   begin     a[i]:=random(21)-10;     write(a[i]);   end; 3. Следующие строки кода делают реверс 1-ой половины массива: //надо, чтобы a[1] стало a[5], a[5] стало a[1], a[2] cтало a[4], a[4] стало a[2], //элемент a[3] не трогаем, так как он находится посередине и его не с кем менять n:=0; //вспомогательная переменная, которая будет увеличиваться на 1 при //каждом выполнении тела цикла   for i:=1 to 2 do   begin     k:=a[i]; // в переменной k запоминаем значение a[i]     a[i]:=a[5-n]; // теперь a[i] = a[5-n]     a[5-n]:=k; // А элемент a[5-n] = бывшему значению a[i], которое сохранили в k     n:=n+1; //Для работы со следующей парой элементов увеличиваем n на 1   end; 4. За реверс второй половины отвечает этот код: n:=0;   for i:=6 to 8 do   begin     k:=a[i];     a[i]:=a[10-n];     a[10-n]:=k;     n:=n+1;   end; 5. Ну и последний цикл выводит получившийся массив на экран: for i:=1 to 10 do write(a[i]);    
Не нашли ответ?
Ответить на вопрос
Похожие вопросы