С клавиатуры вводятся числа для квадрата, программа сообщает является ли квадрат магическим
Категория: Basic
2012-05-02 16:50:31
алгоритм
- ввести количество чисел N
- заполнить двумерный массив размера sqr(n)*sqr(n)
- находим сумму элементов 1 строки s
- ищем суммы элементов всех строк, столбцов, диагоналей и сравниваем с s
- если находим неравность, то f=1
- если f=0, то квадрат -магический, иначе - нет.
code: #basic
CLS INPUT "Razmer storony matrici:", n DIM KV(n, n), s, f ' Вводим эл-ты матрицы FOR iy = 1 TO n: FOR ix = 1 TO n LOCATE 10, 5: PRINT "Vvedite element(goriz:" + STR$(ix) + " vert:" + STR$(iy) + ")" PRINT SPACE$(80): LOCATE CSRLIN - 1, 1: INPUT a KV(iy, ix) = a NEXT: NEXT ' Проверяем на "волшебность"))) FOR i = 1 TO n: s = s + KV(i, 1): NEXT ' Строки&столбцы FOR iy = 1 TO n: a = 0 FOR ix = 1 TO n a = a + KV(iy, ix) NEXT IF a <> s THEN f = 1 NEXT FOR ix = 1 TO n: a = 0 FOR iy = 1 TO n a = a + KV(iy, ix) NEXT IF a <> s THEN f = 1 NEXT ' Диагонали a = 0 FOR i = 1 TO n a = a + KV(i, i) NEXT: IF a <> s THEN f = 1 a = 0 FOR i = 1 TO n a = a + KV((n - i) + 1, i) NEXT: IF a <> s THEN f = 1 ' Выводим результат LOCATE 2, 1 IF f = 0 THEN COLOR 10: PRINT "Magicheskij kvadrat" ELSE COLOR 12: PRINT "Ne magicheskij kvadrat" END IF COLOR 7
автор: >Quiet Snow<
Поделиться: