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

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

27.10.15
2 ответа

Лучший ответ по мнению автора

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.10.15
Лучший ответ по мнению автора

Другие ответы

Здравствуйте. Обращайтесь в чат, на платной основе сделаю.
27.10.15
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store