Даны три массива с числом элементов не более 17, найти индекс максимальной разности - QBasic
Формулировка задачи:
Не могу решить((
Даны три массива с числом элементов не более 17 в каждом. Определить
индекс максимальной разности.
Результаты представить в виде:
п/п
Массивы
1-
2-
3-
Jmin=
17
(тут возможна опечатка! не 17, а 3)
D=Σ (mas1(i)-mas2(i))2 если mas3(i)<0 i=1
Решение задачи: «Даны три массива с числом элементов не более 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
Объяснение кода листинга программы
- Задание числа элементов массива
n
с помощью циклаDO-LOOP
и ввод этого числа с клавиатуры. - Объявление трех массивов
mas1
,mas2
,mas3
с помощьюDIM
и размещение их элементов в диапазоне от 1 доn
. - Заполнение массивов
mas1
иmas2
случайными числами от -50 до 50 с помощьюINT(RND * 100) - 50
, а массиваmas3
случайными числами от -50 до 0 с помощьюINT(RND * 50) - 50
. - Вывод содержимого массивов на экран с помощью цикла
FOR
и командыPRINT
. - Инициализация переменных
sum
,ind
иmax
для последующих расчетов. - Цикл
FOR
по всем элементам массиваmas3
, который проверяет условиеIF mas3(i) < 0
, и если это условие истинно, то суммирует квадрат разности элементовmas1(i)
иmas2(i)
в переменнуюsum
. - Вычисляет абсолютную разность элементов
mas1(i)
иmas2(i)
и сравнивает ее с текущим максимальным значениемmax
. Если абсолютная разность больше текущего максимального значения, то обновляет индексind
и значениеmax
. - После завершения цикла выводит на экран сумму
sum
, а также индексind
и разностьmax1-mas2
для найденного максимального значения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д