Даны три массива с числом элементов не более 17, найти индекс максимальной разности - QBasic

Узнай цену своей работы

Формулировка задачи:

Не могу решить(( Даны три массива с числом элементов не более 17 в каждом. Определить

17

(тут возможна опечатка! не 17, а 3)

D=Σ (mas1(i)-mas2(i))2 если mas3(i)<0 i=1

индекс максимальной разности. Результаты представить в виде: п/п Массивы 1- 2- 3- Jmin=

Решение задачи: «Даны три массива с числом элементов не более 17, найти индекс максимальной разности»

textual
Листинг программы
CLS
REM цикл для ввода числа элементов не более 17
DO
INPUT "Ведите число N<=17 n="; n
LOOP UNTIL n <= 17
REM объявлени массивов
DIM mas1(1 TO n), mas2(1 TO n), mas3(1 TO n)
REM ввод элементов массивов
FOR i = 1 TO n
mas1(i) = INT(RND * 100) - 50
mas2(i) = INT(RND * 100) - 50
mas3(i) = INT(RND * 50) - 50
NEXT i
PRINT "Massiv 1 Massiv 2   Macciv 3"
FOR i = 1 TO n
PRINT mas1(i), mas2(i), mas3(i)
NEXT i
sum = 0
ind = 0
max = -10 ^ 10
FOR i = 1 TO n
IF mas3(i) < 0 THEN sum = (mas1(i) - mas2(i)) ^ 2
k = ABS(mas1(i) - mas2(i))
IF k >= max THEN ind = i: max = k
NEXT i
d = sum
PRINT "D="; d
PRINT "индекс максимальной разности"
PRINT "ind:"; ind; "разность max1-mas2:"; max
END

Объяснение кода листинга программы

  1. Задание числа элементов массива n с помощью цикла DO-LOOP и ввод этого числа с клавиатуры.
  2. Объявление трех массивов mas1, mas2, mas3 с помощью DIM и размещение их элементов в диапазоне от 1 до n.
  3. Заполнение массивов mas1 и mas2 случайными числами от -50 до 50 с помощью INT(RND * 100) - 50, а массива mas3 случайными числами от -50 до 0 с помощью INT(RND * 50) - 50.
  4. Вывод содержимого массивов на экран с помощью цикла FOR и команды PRINT.
  5. Инициализация переменных sum, ind и max для последующих расчетов.
  6. Цикл FOR по всем элементам массива mas3, который проверяет условие IF mas3(i) < 0, и если это условие истинно, то суммирует квадрат разности элементов mas1(i) и mas2(i) в переменную sum.
  7. Вычисляет абсолютную разность элементов mas1(i) и mas2(i) и сравнивает ее с текущим максимальным значением max. Если абсолютная разность больше текущего максимального значения, то обновляет индекс ind и значение max.
  8. После завершения цикла выводит на экран сумму sum, а также индекс ind и разность max1-mas2 для найденного максимального значения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы