Даны три массива с числом элементов не более 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
для найденного максимального значения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д