Определить значение элемента массива, наиболее близкого к среднему арифметическому всех элементов - QBasic
Формулировка задачи:
Определить значение и номер элемента массива X(n), наиболее близкого к среднему арифметическому всех элементов массива. Вывести массив и полученные значения. Упорядочить массив X(n) по убыванию. Вывести полученный массив. Исходный массив элементов получить с помощью датчика случайных чисел. Значения буквенных переменных задавать с клавиатуры.
Решение задачи: «Определить значение элемента массива, наиболее близкого к среднему арифметическому всех элементов»
textual
Листинг программы
- CLS
- RANDOMIZE TIMER
- INPUT "Введите N:", N
- REDIM X(1 TO N)
- PRINT "Исходный массив:"
- FOR I = 1 TO N
- X(I) = INT(RND * 100)
- PRINT X(I);
- S! = S! + X(I)
- NEXT I
- S! = S! / N
- PRINT "Среднее значение: "; S!
- J = 1
- FOR I = 1 TO N
- IF ABS(X(N) - S) > ABS(X(I) - S) THEN
- J = I
- END IF
- NEXT I
- PRINT "Ближайшее значение элемента: "; X(J); "("; LTRIM$(STR$(J)); ")"
- PRINT "Сортировка..."
- FOR I = 1 TO N
- FOR J = 1 TO N - 1
- IF X(J) < X(J + 1) THEN
- SWAP X(J), X(J + 1)
- END IF
- NEXT J
- NEXT I
- PRINT "Полученный массив:"
- FOR I = 1 TO N
- PRINT X(I);
- NEXT I
Объяснение кода листинга программы
- Объявляется переменная N типа String, в которую с клавиатуры вводится количество элементов в массиве.
- Создается массив X размером N x 1.
- Выводится сообщение
Исходный массив:
и элементы массива X по одному в строке. - Сумма всех элементов массива сохраняется в переменной S!.
- Среднее значение всех элементов массива вычисляется как S! / N и сохраняется в переменной S!.
- Переменная J инициализируется значением 1.
- В цикле перебираются все элементы массива X.
- Если абсолютное значение разности X(N) и S! больше, чем абсолютное значение разности X(I) и S!, то значение переменной J заменяется на I.
- Цикл завершается.
- Выводится сообщение
Ближайшее значение элемента:
и значение элемента массива X(J), а также сообщение(
; LTRIM$(STR$(J));)
. - Выводится сообщение
Сортировка...
- В цикле перебираются все элементы массива X.
- Внутренний цикл перебирает элементы от J до N-1.
- Если X(J) < X(J+1), то значения элементов X(J) и X(J+1) меняются местами с помощью команды SWAP X(J), X(J+1).
- Внутренний цикл завершается.
- Внешний цикл завершается.
- Выводится сообщение
Полученный массив:
- В цикле перебираются все элементы массива X.
- Выводится значение элемента X(I).
- Цикл завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д