Практикум по программированию. Основы. Массивы. Магический квадрат
From AsIsWiki
Contents |
Java
import java.util.Scanner; public class Task11 { private static final int n = 3; public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(); System.out.println(" Магический квадрат "); System.out.println("--------------------"); System.out.print(" Введите 9 элементов матрицы через пробел: "); int sumcol[] = new int[n]; int sumrow[] = new int[n]; for (int i = 0; i < n; i++) { sumcol[i] = 0; sumrow[i] = 0; } int s, sumdiag1 = 0, sumdiag2 = 0; int a[][] = new int[n][n]; for (int i = 0; i < n; i++) { s = 0; for (int j = 0; j < n; j++) { a[i][j] = in.nextInt(); s += a[i][j]; sumrow[j] += a[i][j]; if (i == j) { sumdiag1 += a[i][j]; } if (i + j == n - 1) { sumdiag2 += a[i][j]; } } sumcol[i] = s; } System.out.println("--------------------"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%3d", a[i][j]); } System.out.println(); } int i = 0, k = 0; if (sumdiag1 == sumdiag2) { for (i = 0; i < n; i++) { if ((sumcol[i] == sumdiag1) && (sumrow[i] == sumdiag1)) { k++; } } } if (k == i) { System.out.println(" Это магический квадрат"); } else { System.out.println(" Это не магический квадрат"); } } }
C++
// g++ 4.2 #include <iostream> using namespace std; int main() { cout << "\n Магический квадрат\n"; cout << "--------------------\n"; cout << " Введите 9 элементов матрицы через пробел: "; const int n = 3; int sumcol[n], sumrow[n]; for (int i = 0; i < n; i++) { sumcol[i] = 0; sumrow[i] = 0; } int a[n][n], s, sumdiag1 = 0, sumdiag2 = 0; for (int i = 0; i < n; i++) { s = 0; for (int j = 0; j < n; j++) { cin >> a[i][j]; s += a[i][j]; sumrow[j] += a[i][j]; if (i == j) { sumdiag1 += a[i][j]; } if (i + j == n - 1) { sumdiag2 += a[i][j]; } } sumcol[i] = s; } cout << "--------------------\n"; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%3d", a[i][j]); } cout << "\n"; } int i = 0, k = 0; if (sumdiag1 == sumdiag2) { for (i = 0; i < n; i++) { if ((sumcol[i] == sumdiag1) && (sumrow[i] == sumdiag1)) { k++; } } } if (k == i) { cout << " Это магический квадрат"; } else { cout << " Это не магический квадрат"; } cout << "\n\n"; return 0; }
Pascal