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