Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 10:53   #1
Kil001
 
Регистрация: 15.12.2011
Сообщений: 7
Вопрос C# - Определите является ли матриица "симпатичной".

Доброе время суток!

Знатоки! Помогите с задачей по С#.

Задача: Создайте матрицу, содержащую n строк и m столбцов, в каждой клетке которой расположен ноль или единица. Определите является ли матриица "симпатичной" - если в ней нет ни одного квадрата 2 на 2, заполненного целиком нулями или целиком единицами. Если квадратов нет - "симпатичная", если квадраты есть - "не симпотичная".
Вот что у меня пока получилось, но немогу сообразить как написать код для определения симатичности и нет.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Praktika_2._2
    {
    class Program
        {
        static void Main(string[] args)
            {
                {
                int m, n, s0, s1, sum;
                int k = 2;
                Console.Write("Vvedite chislo stolbcov (bolshe 1) - ");
                m = int.Parse(Console.ReadLine());
                Console.Write("Vvedite chislo strok (bolshe 1) - ");
                n = int.Parse(Console.ReadLine());
                if (n < 2 || m < 2)
                    {
                    Console.WriteLine("Chisla vvedeny ne pravilno!!!");
                    Console.Read();
                    }
                int[,] massiv = new int[n, m];
                //ввод массива
                Random rnd = new Random();
                for (int i = 0; i < massiv.GetLength(0); i++)
                    {

                    for (int j = 0; j < massiv.GetLength(1); j++)
                        {
                        massiv[i, j] = rnd.Next(0, 2);
                        }
                    }
                Console.WriteLine("Massiv: ");
                PrintArray(massiv);
                    {
                    s0 = 0; s1 = 0; // s4et4ik kvadratov c 0 i 1
                    for (int i = 0; i < n - k; i++)
                        {
                        for (int j = 0; j < m - k; j++)
                            {
                            sum = 0;// summa elementov v kvadrate
                            for (int a = 0; a < i + k; a++)
                                {
                                for (int b = 0; b < j + k; b++)
                                    sum = a + b;
                                }
                            if (sum == 0)
                                s0 = s0++;
                            if (sum == 4)
                                s1 = s1++;
                            }
                        }
                    Console.WriteLine("Kvadratov c 0 =   !", s0);
                    Console.WriteLine("Kvadratov c 1  =  !", s1);
                    Console.WriteLine("Matrica ne simpati4naja !");
                    }
                    Console.Read();
                }
            }
        public static void PrintArray(int[,] arr)
            {
            for (int i = 0; i < arr.GetLength(0); i++)
                {
                for (int j = 0; j < arr.GetLength(1); j++)
                    {
                    Console.Write(" {0,-2}\t", arr[i, j]);
                    }
                Console.WriteLine();
                }

            }
        }
    }
Kil001 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка:является "поле" но используется как "метод" hitman47IT Помощь студентам 0 22.11.2011 20:55
Определите расстояние, пройденное физ телом за вермя t, если тело движется с постоянным ускорением "а" (нач.скорость=0) Cotman od Паскаль, Turbo Pascal, PascalABC.NET 12 27.09.2011 21:07
Помогите что обозначает "диск D:/ не является приложением win32." Ospa Windows 19 05.06.2011 21:02
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Является ли Assembler для вас "лесом дремучим"? Delpher Свободное общение 9 14.12.2007 11:32