Многомерный массив, задача по информатике - C#
Формулировка задачи:
Помогите решить задачу.
Дан массив размером NxM.
Если значение первой строчки совпадает со значением следующих строк, то надо напечатать "ДА" в противном случае напечатать "НЕТ".
Пример 1
размер 3X3
2 Заранее спасибо.
1
5 4 71
9 01
Ответ ДА. Пример 2 размер 4X3 2 1 5 7 4 7 1 0 9 0 0 9 Ответ НЕТ. Пример 3 размер 5X4 21
52 2
4 71
2
6 9 01
72
8 0 42
1
Ответ ДА. Пример 4 размер 3X3 7 8 5 4 8 9 9 0 7 Ответ НЕТ. Вот код но не понимаю почему не работает.using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int n = 3; int[,] a = new int[n, n]; Random rand = new Random(); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) a[i, j] = rand.Next(0, 5); Calc(a, n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) Console.Write(a[i, j] + " "); Console.WriteLine("\n"); } Console.ReadLine(); } static void Calc(int[,] a, int n) { bool isYes = false; int k = 0; int p = 0; int pr = 0; for (int q = 0; q < n; q++) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n; j++) { if (a[0, p] == a[i+1, j]) { if (isYes == false) { isYes = true; pr++; } Console.WriteLine("{0} = {1} Yes Pr = {2} ", a[0, p], a[i+1, j],pr); } else { if (k != n) k++; else { k = 0; isYes = false; pr =0; } Console.WriteLine("{0} = {1} No Pr = {2}", a[0, p], a[i +1, j],pr); Console.Title = k.ToString() + " " + pr.ToString(); ; } } } p++; } Console.WriteLine(((pr==n)?"YES":"NO")+"\n"); } } }
Решение задачи: «Многомерный массив, задача по информатике»
textual
Листинг программы
static void Main(string[] args) { int n = 3, m=4; int[,] a = new int[n, m]; Random rand = new Random(); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) a[i, j] = rand.Next(0, 10); Calc(a, n, m); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) Console.Write(a[i, j] + " "); Console.WriteLine("\n"); } Console.ReadLine(); } static void Calc(int[,] a, int n, int m) { int s = 0, d = 0; for (int k = 0; k < m; k++) { s = 0; for (int i = 1; i < n && s == i - 1; i++) { for (int j = 0; j < m && s == i - 1; j++) { if (a[0, k] == a[i, j]) s++; } } if (s == n - 1) { k = m; d = 1; } } if (d == 1) Console.WriteLine("Да"); else Console.WriteLine("Нет"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д