Создать двумерный массив размером N*M. Переставить местами элементы с индексами i,k и k,i

Размеры N и M вводятся с клавиатуры. Данные в массив вводятся произвольно. Вид вводимой в массив информации - символьный. Вывести на экран исходный и изменённый массивы, а также элементы главной диагонали.

  1. Если i или k больше чем минимальное значение из m и n, то меняться значения не будут (это и логично).
  2. Если m не равно n, то главная диагональ выводиться не будет.
  3. В обоих случаях программа выведет соответствующие сообщения.

    code: #basic
    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

    автор: Toxa33rus

    Поделиться:

    Похожие статьи: