Технологии

Решено

помогите написать программу на c #. Напишите программу, которая в заданной матрице заменяет все положительные элементы нулями, если количество... - вопрос №1682726

Напишите программу, которая в заданной матрице заменяет все положительные элементы нулями, если количество отрицательных элементов окажется больше, чем количество положительных элементов.

октябрь 27, 2015 г.

  • Всего ответов: 2

  • Виталий - аватарка

    Виталий

    2-й в Технологиях

    Здравствуйте. Обращайтесь в чат, на платной основе сделаю.

    октябрь 27, 2015 г.
  • another anonymous - аватарка

    another anonymous

    9-й в

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace scan_matrix
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine(«Введите 0 < N <=15»);
                var strN = Console.ReadLine();
                int N = 0;
                if (int.TryParse(strN, out N) && N > 0 && N <= 15)
                {
                    Console.WriteLine(«Введите M <=10»);
                    var strM = Console.ReadLine();
                    int M = 0;
                    if (int.TryParse(strM, out M) && M > 0 && M <= 10)
                    {
                        var mx = new int[N, M];
                        var rnd = new Random();
                        for (var n = 0; n < N; n++)
                            for (var m = 0; m < M; m++)
                                mx[n, m] = rnd.Next(-100, 100);

                        Console.WriteLine(«Получена матрица:»);
                        for (var n = 0; n < N; n++)
                        {
                            for (var m = 0; m < M; m++)
                                Console.Write("\t{0}", mx[n, m]);
                            Console.WriteLine();
                        }


                        Console.WriteLine(«Подсчет отрицательных элементов:»);
                        var neg = 0;
                        for (var n = 0; n < N; n++)
                            for (var m = 0; m < M; m++)
                                if (mx[n, m] < 0)
                                    neg++;
                        Console.WriteLine(«Отрицательных элементов {0}», neg);

                        Console.WriteLine(«Проверка условия замены:»);
                        var pos = mx.Length — neg;
                        Console.WriteLine(«Положительных элементов {0}», pos);
                        if (neg > pos)
                        {
                            Console.WriteLine(«Отрицательных элементов больше, замена выполняется.»);
                            for (var n = 0; n < N; n++)
                                for (var m = 0; m < M; m++)
                                    if (mx[n, m] < 0)
                                        mx[n, m] = 0;

                            Console.WriteLine(«Итоговая матрица:»);
                            for (var n = 0; n < N; n++)
                            {
                                for (var m = 0; m < M; m++)
                                    Console.Write("\t{0}", mx[n, m]);
                                Console.WriteLine();
                            }
                        }
                        else
                            Console.WriteLine(«Отрицательных элементов не больше, замена не выполняется.»);
                    }
                    else
                        Console.WriteLine(«Ошибка, введенное значение не является целым числом или выходит из заданного диапазона.»);
                }
                else
                    Console.WriteLine(«Ошибка, введенное значение не является целым числом или выходит из заданного диапазона.»);
               
                Console.WriteLine("\n\nPress any key to continue...");
                Console.ReadKey();
            }
        }
    }

    октябрь 27, 2015 г.
    Ответ понравился автору
    Лучший ответ по мнению автора