Матрицы - VB (58457)

Формулировка задачи:

Дана матрица размера M х N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.

Код к задаче: «Матрицы - VB (58457)»

textual
CLS
RANDOMIZE TIMER
 
m = 4    ' Введено для контроля
n = 5
 
REDIM x(m, n) AS INTEGER
REDIM max(n) AS INTEGER
REDIM min(n) AS INTEGER
REDIM imax(n) AS INTEGER
REDIM imin(n) AS INTEGER
 
FOR i = 1 TO m
FOR j = 1 TO n
   x(i, j) = 40 * RND
   PRINT x(i, j);
NEXT: PRINT
NEXT: PRINT
 
FOR j = 1 TO n
   max(j) = x(1, j)
   min(j) = x(1, j)
   imax(j) = 1
   imin(j) = 1
NEXT
 
FOR j = 1 TO n
FOR i = 1 TO m
   IF max(j) < x(i, j) THEN
      max(j) = x(i, j)
      imax(j) = i
   END IF
 
   IF min(j) > x(i, j) THEN
      min(j) = x(i, j)
      imin(j) = i
   END IF
NEXT i, j
 
FOR j = 1 TO n
   R = x(imax(j), j)
   x(imax(j), j) = x(imin(j), j)
   x(imin(j), j) = R
NEXT
 
FOR i = 1 TO m
FOR j = 1 TO n
   PRINT x(i, j);
NEXT: PRINT
NEXT

5   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ