Создать двумерный массив размером N*M. Переставить местами элементы с индексами i,k и k,i. Размеры N и M вводятся с клавиатуры. Данные в массив вводятся произвольно. Вид вводимой в массив информации — символьный. Вывести на экран исходный и изменённый массивы, а также элементы главной диагонали. Если i или k больше чем минимальное значение из m и n, то меняться значения не будут (это и логично). Если m не равно n, то главная диагональ выводиться не будет. В обоих случаях программа выведет соответствующие сообщения — QBasic(Бейсик)

CLS
 
OPTION BASE 1
 
INPUT "M=", m
INPUT "N=", n
 
DIM x(m, n) AS STRING
 
FOR i = 1 TO m
  FOR j = 1 TO n
    PRINT "x("; i; ", "; j; ")= ";
    INPUT "", x(i, j)
  NEXT j
NEXT i
 
INPUT "I=", i
INPUT "K=", k
 
IF i <= m AND i <= n AND k <= m AND k <= n THEN
  DIM tmp AS STRING
  tmp = x(i, k)
 
  x(i, k) = x(k, i)
  x(k, i) = tmp
 
  FOR i = 1 TO m
    FOR j = 1 TO n
      PRINT "("; i; ","; j; ")="; x(i, j);
      PRINT ""
    NEXT j
  NEXT i
ELSE
  PRINT "Incorrect params"
END IF
 
PRINT ""
IF m = n THEN
  PRINT "Main diagonal:"
  FOR d = 1 TO m
    PRINT x(d, d); ",";
  NEXT d
ELSE
  PRINT "Matrix is not square. Main diagonal is null";
END IF