Поменять местами первую и последнюю строки матрицы при условии, что они не содержат максимального элемента — Basic(Бейсик)

'   Размерность
CONST x = 5, y = 5
'   Матрица
DIM M(x, y), MaxEl, MaxY
CLS
     ' Заполним матрицу
   RANDOMIZE TIMER ' Заполняем случ. числами
   M(1, 1) = 1
  FOR iy = 1 TO y: FOR ix = 1 TO x
    M(ix, iy) = INT(RND * 51) - 25
  NEXT: NEXT
     ' Выведем её на экран
  PRINT "____Ishodnaya matrica______________________"
  FOR iy = 1 TO y: FOR ix = 1 TO x
    PRINT M(ix, iy);
  NEXT: PRINT : NEXT: PRINT
     ' Найдём максимальный элемент всей матрицы
  FOR iy = 1 TO y: FOR ix = 1 TO x
    IF M(ix, iy) > MaxEl THEN MaxEl = M(ix, iy): MaxY = iy
  NEXT: NEXT
     ' Если в 1 и посл. строке нет макс. эл, то меняем
   IF MaxY <> 1 AND MaxY <> y THEN
     FOR i = 1 TO x
       SWAP M(i, 1), M(i, y)
     NEXT
   END IF
     ' Выведем готовую матрицу на экран
  PRINT "____Novaya matrica_________________________"
  FOR iy = 1 TO y: FOR ix = 1 TO x
    PRINT M(ix, iy);
  NEXT: PRINT : NEXT

Leave a Comment