Найти координаты элемента матрицы, наиболее близкого к среднему значению всех элементов массива - QBasic
Формулировка задачи:
найти координаты элемента матрицы наиболее близкого к среднему значению всех элементов массива.
среднее значение я нашла, а вот с нахождением координат проблема возникла,не подскажите как это сделать??
Решение задачи: «Найти координаты элемента матрицы, наиболее близкого к среднему значению всех элементов массива»
textual
Листинг программы
CLS INPUT "vvedite kol-vo strok ", m INPUT "vvedite kol-vo stolbcov ", n DIM a(m, n) FOR i = 1 TO m FOR j = 1 TO n INPUT a(i, j) NEXT NEXT PRINT "massiv" FOR i = 1 TO m FOR j = 1 TO n PRINT a(i, j); NEXT PRINT NEXT 'nahodim srednee arifmeticheskoe FOR i = 1 TO m FOR j = 1 TO n S = S + a(i, j) NEXT NEXT sr = S / (m * n) PRINT "srednee arifmeticheskoe="; sr r = 1E+38 FOR i = 1 TO m FOR j = 1 TO n IF ABS(a(i, j) - sr) < r THEN r = ABS(a(i, j) - sr): x = i: y = j NEXT NEXT PRINT "naibolee blizkiy k srednemu element="; a(x, y) PRINT "ego koordinaty: stroka="; x; " stolbec="; y
Объяснение кода листинга программы
- Ввод количества строк и столбцов матрицы с помощью функции INPUT.
- Создание двумерного массива a(m, n) с помощью DIM.
- Заполнение массива a(m, n) с помощью функции INPUT.
- Вывод содержимого массива a(m, n) с помощью функции PRINT.
- Нахождение среднего арифметического всех элементов массива a(m, n) с помощью двух вложенных циклов FOR и функции S = S + a(i, j), где S — переменная для хранения суммы элементов.
- Вычисление расстояния от каждого элемента массива a(m, n) до среднего значения с помощью функции ABS(a(i, j) — sr), где sr — среднее арифметическое, а r — переменная для хранения расстояния от текущего элемента до среднего значения.
- Если расстояние от текущего элемента до среднего значения меньше, чем текущее значение переменной r, то обновляются значения переменных r, x и y.
- Вывод на экран наиболее близкого к среднему значению элемента массива a(x, y) с помощью функции PRINT, а также его координат с помощью функции PRINT.