Показать сообщение отдельно

  #1985  
Старый 08.12.2009, 01:13
cel1697i845
Постоянный
Регистрация: 22.11.2008
Сообщений: 395
Провел на форуме:
3987105

Репутация: 776
По умолчанию

Цитата:
Сообщение от jecka3000  
язык си шарп
Условие:
Определить класс с методом, который вычисляет и возвращает количество нулевых строк (т.е. строк, состоящих из одних нулей) в квадратной матрице целого типа произвольных размеров. Даны две квадратные матрицы размером NxN. Значение N ввести с клавиатуры. Заполнить обе матрицы путем ввода с клавиатуры. Выдать на экран построчно ту матрицу, который имеет больше нулевых строк. Если таких строк в матрицах одинаковое количество, вывести любую из них.

С меня стопиццот плюсафф))
Если правильно понял то вот:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(" Введите размер матрицы");
            int N = Convert.ToInt32(Console.ReadLine());
            int[,] m1 = new int[N, N];
            int[,] m2 = new int[N, N];
            int i1, j1, p1, p2, r = 0;
            p1 = 0; p2 = 0;
            Console.WriteLine("Матрица 1");
            for (i1 = 0; i1 < N; i1++)  // вводим первую матрицу
            {
                for (j1 = 0; j1 < N; j1++)
                {
                    m1[i1, j1] = Convert.ToInt32(Console.ReadLine());
                    if ((m1[i1, j1] != 0) || (r != 0))
                    {
                        r = 1;
                    }
                    else
                    {
                        r = 0;
                    }
                }
                if (r == 0)
                {
                    p1++;
                }
                r = 0;
            }
            Console.WriteLine("Матрица 2");
            r = 0;
            for (i1 = 0; i1 < N; i1++)  // вводим вторую матрицу
            {
                for (j1 = 0; j1 < N; j1++)
                {
                    m2[i1, j1] = Convert.ToInt32(Console.ReadLine());
                    if ((m2[i1, j1] != 0) || (r != 0))
                    {
                        r = 1;
                    }
                    else
                    {
                        r = 0;
                    }
                }
                if (r == 0)
                {
                    p2++;
                }
                r = 0;

            }
            if (p1 > p2) //если у матрицы 1 кол-во строк с 0 больше то выводим ее
            {
                for (i1 = 0; i1 < N; i1++)  // вывод
                {
                    for (j1 = 0; j1 < N; j1++)
                    {
                        Console.Write(m1[i1, j1]);
                    }
                    Console.WriteLine();
                }
            }
            else
            {
                if (p1 < p2) //если у матрицы 2 кол-во строк с 0 больше то выводим ее
                {
                    for (i1 = 0; i1 < N; i1++)  // вывод
                    {
                        for (j1 = 0; j1 < N; j1++)
                        {
                            Console.Write(m2[i1, j1]);
                        }
                        Console.WriteLine();
                    }
                }
                else
                {
                    if ((p1 == p2) && (p1!=0)) //если кол-во равные то выводим первую
                    {
                        for (i1 = 0; i1 < N; i1++)  // вывод
                        {
                            for (j1 = 0; j1 < N; j1++)
                            {
                                Console.Write(m1[i1, j1]);
                            }
                            Console.WriteLine();
                        }
                    }
                    else
                    {
                        Console.WriteLine("Нет нулевых строк");
                    }
                }
            }
            Console.ReadKey();
        }
    }
}
 
Ответить с цитированием