Создать двумерный массив размером N*M. Переставить местами элементы с индексами i,k и k,i
Категория: Basic
2011-10-06 16:47:28
Размеры N и M вводятся с клавиатуры. Данные в массив вводятся произвольно. Вид вводимой в массив информации - символьный. Вывести на экран исходный и изменённый массивы, а также элементы главной диагонали.
- Если i или k больше чем минимальное значение из m и n, то меняться значения не будут (это и логично).
- Если m не равно n, то главная диагональ выводиться не будет.
В обоих случаях программа выведет соответствующие сообщения.
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
Поделиться: