Определить номера строк матрицы A совпадающие с массивом D - C#

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

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

Здравствуйте! Дано задание: Определить номера тех строк целочисленной матрица A[,], которые совпадают с массивом D[K]. Если таких нет выдать сообщение. Я написала код, но он выводит сообщения, что совпадения есть, но не их количество(хотя в самом задании нужно выдать номера строк, если я правильно поняла). В чем же проблема?
Console.Write("Введите размер квадратной матрицы: "); 
int r = int.Parse(Console.ReadLine()); 
Console.WriteLine("Матрица А"); 
int[,] Mat = new int[r, r]; 
Random random = new Random(); 
int rand; 
for (int i = 0; i < r; i++) 
{ 
for (int j = 0; j < r; j++) 
{ 
rand = random.Next(0,3); 
Mat[i, j] = rand; 
} 
} 
for (int i = 0; i < r; i++) 
{ 
for (int j = 0; j < r; j++) 
{ 
Console.Write(" {0} ",Mat[i, j]); 
} 
Console.WriteLine(); 
} 
 
int[] Mas = new int[r]; 
Random rnd = new Random();
        Console.WriteLine();
Console.WriteLine("Массив D:"); 
for (int i = 0; i < r; i++) 
{ 
Mas[i] = rnd.Next(0, 3); 
Console.Write(" {0} ",Mas[i]); 
} 
        bool nekon=true;
        for (int i=0; i<r; i++)
        {
            for(int j=0; j<r; j++)
            {
                while (Mat[i,j]!=Mas[i])
                {
                    nekon=false;
                }
                if (nekon==true)
                {
                Console.WriteLine();
                    Console.WriteLine("есть совпадение "+i);
                    Console.ReadLine();
            }
                else Console.WriteLine("нет совпадений");
        }
            }

Решение задачи: «Определить номера строк матрицы A совпадающие с массивом D»

textual
Листинг программы
Console.Write("Введите размер квадратной матрицы: ");
            int r = int.Parse(Console.ReadLine());
            Console.WriteLine("Матрица А");
            int[,] Mat = new int[r, r];
            Random random = new Random();
            int rand;
            for (int i = 0; i < r; i++)
            {
                for (int j = 0; j < r; j++)
                {
                    rand = random.Next(0, 3);
                    Mat[i, j] = rand;
                }
            }
            for (int i = 0; i < r; i++)
            {
                for (int j = 0; j < r; j++)
                {
                    Console.Write(" {0} ", Mat[i, j]);
                }
                Console.WriteLine();
            }
 
            int[] Mas = new int[r];
            Random rnd = new Random();
            Console.WriteLine();
            Console.WriteLine("Массив D:");
            for (int i = 0; i < r; i++)
            {
                Mas[i] = rnd.Next(0, 3);
                Console.Write(" {0} ", Mas[i]);
            }
            //bool nekon = true;
 
            int count = 0;
 
            for (int i = 0; i < r; i++)
            {
                bool equal = true;
                for (int j = 0; j < r; j++)
                {
                    if (Mat[i, j] != Mas[i])
                    {
                        equal = false;
                    }
                }
                if (equal)
                {
                    Console.WriteLine();
                    Console.WriteLine("есть совпадение в строке " + i);
                    count++;
                }
            }
            Console.WriteLine(count > 0 ? $"Всего совпадений {count}" : "нет совпадений");
 
            Console.ReadKey();

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


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

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

11   голосов , оценка 4.182 из 5
Похожие ответы