Многомерный массив, задача по информатике - C#

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачу. Дан массив размером NxM. Если значение первой строчки совпадает со значением следующих строк, то надо напечатать "ДА" в противном случае напечатать "НЕТ". Пример 1 размер 3X3 2

1

5 4 7

1

9 0

1

Ответ ДА. Пример 2 размер 4X3 2 1 5 7 4 7 1 0 9 0 0 9 Ответ НЕТ. Пример 3 размер 5X4 2

1

5

2 2

4 7

1

2

6 9 0

1

7

2

8 0 4

2

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("Нет");
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5