Заполнить массив из 10 элементов случайными числами в интервале от [-10...10] и выполнить...

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

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


image

Информатика (47 баллов) | 137 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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]);
 
 




(13.9k баллов)
0

Хорошо, так и сделаю,

0

Спасибо

0

Еще можно пожалуйста вопрос:что такое реверс?

0

Это как посмотреть в зеркало. Правый элемен становится левым. И наооборот левый становится правым. И так по всему массиву или части его

0

Извините пожалуйста, но можно еще вопрос, просто завтра все это нужно объяснить учительнице.Решается моя четвертная оценка. Для чего в этой программе используется n:=0 и n:=n+1? И что здесь означает k?

0

Чтобы было удобнее я в решении подробно распишу реверс 1 половины массива. Реверс второй половины делается аналогично первой. Потерпите немног

0

Смотрите, пытался объяснить как мог

0

Огромное спасибо! Без Вас я бы ничего сама бы не сделала,надеюсь что с Вашими объяснениями учительница поставит 5. Еще раз спасибо БОЛЬШОЕ!!

0

Успехов!

0

Спасибо!