М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
vlad2380
vlad2380
06.08.2021 07:15 •  Информатика

Имеется одномерный целочисленный массив из семи элементов:

каким будет результат преобразования массива по следующему алгоритму?

👇
Ответ:
fcone
fcone
06.08.2021

a[1] = 20

a[2] = 15

a[3] = 4

a[4] = 8

a[5] = 5

a[6] = 12

a[7] = 10

Объяснение:

ответ зависит от того чему равно n. Если предположить что n равно количеству элементов в массиве, то n = 7.

for i := 1 to n div 2 do

(значения i будут изменяться от 1 до 3 (div - целочисленное деление; n div 2 = 3), т.е. цикл выполнится 3 раза)

Операции в цикле

r := a[i] ( переменной r присваивается значение элемента массива с индексом (под номером) i)

a[i] := a[n - i + 1] (элементу массива с индексом (под номером) i присваивается значение элемента массива индекс (номер) которого рассчитывается по формуле n - i +1)

a[n - i + 1] := r (элементу массива индекс (номер) которого рассчитывается по формуле n - i +1 присваивается звание переменной r)

То есть происходит обмен значений элементов массива с индексом i и n - i + 1.

Рассмотрим операции в цикле подставляя значения i.

i = 1

r := a[1] = 10

a[1] := a[7 - 1 + 1] = a[7] = 20

a[7] := r = 10

i = 2

r := a[2] = 12

a[2] := a[7 - 2 + 1] = a[6] = 15

a[6] := r = 12

i = 3

r := a[3] = 5

a[3] := a[7 - 3 + 1] = a[5] = 4

a[5] := r = 5

После окончания цикла элементы массива будут равны

a[1] = 20

a[2] = 15

a[3] = 4

a[4] = 8 (остаётся без изменений)

a[5] = 5

a[6] = 12

a[7] = 10

4,7(13 оценок)
Открыть все ответы
Ответ:
nmigutsa
nmigutsa
06.08.2021
1) Набираем 8ми литровый кувшин
2) отливаем 3 литра в 3х литровый и сливаем из него воду
3) в 8ми литровом осталось 5л воды, сливаем снова в 3х литровый, и в 8ми литровом осталось 2 литра воды.
4) выливаем из 3х литрового воду, и переливаем в него 2 литра, оставшиеся в 8литровом кувшине.
5)Снова наполняем 8ми литровый кувшин, и доливаем из него воду в 3х литровый кувшин, так как в 3х литровом налито 2 литра - там не хватает одного литра, значит отлив из 8ми литрового литр в нем останется 7 литров :)
4,6(87 оценок)
Ответ:
MiroshDalia
MiroshDalia
06.08.2021
Var a:array of integer;   
      i,n:integer;
begin
//Заполняем массив сл. числами и выводим
//Нумерация массива с 0
write('Число элементов массива ');readln(n);
setlength(a,n);
for i:=0 to n-1 do begin
  a[i]:=random(41)-20;
  write(a[i]:4);
end;
writeln;
//Вывод номеров четных элементов
for i:=0 to n-1 do
  if a[i] mod 2 = 0 then writeln(a[i]:4, ' номер: ',i );
end.

Тестовое решение:
Число элементов массива 10
  -5  14   3  13   4   1  18   7  12 -14
  14 номер: 1
   4 номер: 4
  18 номер: 6
  12 номер: 8
 -14 номер: 9
4,4(83 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ