Найти среднее всех элементов, определить min элемент и построить его индекс, построить новый массив - QBasic
Формулировка задачи:
Помогите к завтрашнему дню нужно сделать
в массиве из n элементов найти среднее всех элементов, определить min элемент и построить его индекс, построить новый массив из положительных элементов исходного.
Заранее спасибо!
Решение задачи: «Найти среднее всех элементов, определить min элемент и построить его индекс, построить новый массив»
textual
Листинг программы
DEFINT A-B, I-J, M-N
DEFSNG S
OPTION BASE 1
RANDOMIZE TIMER
CLS
INPUT "Vvedite N"; n
DIM a(n)
PRINT
FOR i = 1 TO n
a(i) = 21 * RND - 10.5
PRINT USING "####"; a(i);
NEXT i
PRINT
s = 0
FOR i = 1 TO n
s = s + a(i)
NEXT i
PRINT
s = s / n
PRINT "SREDNEARIFMETICHESKOE ="; s
PRINT
min = a(1)
j = 1
FOR i = 2 TO n
IF a(i) < min THEN
min = a(i)
j = i
END IF
NEXT i
PRINT "MINIMALNYI ELEMENT: "; "A("; j; ")="; min
PRINT
m = 0
FOR i = 1 TO n
IF a(i) > 0 THEN m = m + 1
NEXT i
IF m = 0 THEN
PRINT "POLOSHITELNYH ELEMENTOV NET"
GOTO 100
END IF
DIM b(m)
PRINT "NOVYI MASSIV";
j = 1
FOR i = 1 TO n
IF a(i) > 0 THEN
b(j) = a(i)
PRINT USING "####"; b(j);
j = j + 1
END IF
NEXT i
100
END
Объяснение кода листинга программы
- Задается переменная n, которая определяет размер массива a.
- Инициализируется массив a размером n.
- Выводится заполненный случайными числами массив a.
- Инициализируется переменная s как сумма всех элементов массива a.
- Вычисляется среднее значение элементов массива a и выводится на экран.
- Инициализируются переменные min и j. min содержит минимальное значение элемента массива a, а j - индекс этого элемента.
- Происходит сравнение каждого элемента массива a с min и обновление min и j, если текущий элемент меньше min.
- Выводится сообщение с минимальным значением элемента массива a и его индексом.
- Инициализируется переменная m как количество положительных элементов в массиве a.
- Если m равно 0, выводится сообщение о том, что в массиве нет положительных элементов.
- Инициализируется новый массив b размером m.
- Происходит перебор элементов массива a. Если элемент больше нуля, он копируется в массив b, выводится на экран и увеличивается индекс j.
- Если массив b не пустой, выводится сообщение о новом массиве.