Практикум по программированию. Основы. Массивы. Магический квадрат
From AsIsWiki
(Difference between revisions)
Line 10: | Line 10: | ||
<pre> | <pre> | ||
import java.util.Scanner; | import java.util.Scanner; | ||
− | |||
public class Task11 { | public class Task11 { | ||
Line 85: | Line 84: | ||
<pre> | <pre> | ||
+ | // 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; | ||
+ | } | ||
</pre> | </pre> | ||
Latest revision as of 13:24, 19 April 2015
Contents |
[edit] 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(" Это не магический квадрат"); } } }
[edit] 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; }
[edit] Pascal