• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Одномерный массив

  • Автор темы vbnoob
  • Дата начала
V

vbnoob

Уважаемые программисты , помогите пожалуйста с заданием или скиньте тему где примерно что похоже на то ,что мне надо . Заранее спасибо

В одномерном массиве, состоящем из 15 вещественных элементов (значения элементов массива задайте случайными числами из интервала [-10, 10]), вы-числите произведение элементов массива, расположенных между максимальным и минимальным элементами. Сформируйте из этих элементов новый массив.
 
B

blackstrip

1) ну делаем две вещественных переменных min и max, а также две целых переменных mini и maxi для хранения индексов минимального и максимального элемента
2) присваиваем min = максимальное вещественное (10).
3) присваиваем max = минимальное вещественное (-10)
4) пробегаем в цикле весь массив M по i от первого до последнего элемента, и каждый очередной элемент сравниваем с нашими min и max:
if M(i) < min then
min = M(i)
mini = i
end if
if M(i) > max then
max = M(i)
maxi = i
end if
5) по окончании цикла у нас в min лежит минимальный элемент (а в mini - его индекс), в max лежит максимальный элемент (а в maxi его индекс).

Далее делаем что нужно по условию:
6) делаем целые переменные a и b
7) кладем в a ранний индекс, в b поздний индекс:
if mini < maxi then
a = mini
b = maxi
else
a = maxi
b = mini
end if
8) считаем произведение всех элементов между a-тым и b-тым в цикле, причем первый из элементов просто забираем в произведение, а остальные домножаем на него:
dim pr as double
pr = 0
for i = a + 1 to b - 1
if i = (a + 1) then pr = M(i) else pr = pr*M(i)
next i
9) создаем новый массив N длиной b-a-1 (т.е. если элементы номер 2 и номер 8 граничные, то между ними 8-2-1=5 элементов, а именно 3,4,5,6,7), скидываем в него элементы старого массива:
for i = a + 1 to b - 1
N(i-a) = M(i)
next i

В 1-ый элемент нового массива N попадет M(a+1) элемент, во второй элемент N попадет M(a+2) и т.д.
Сорри если где с синтаксисом напортачил, давно в бейсиках ничего не писал.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!