Quick actions

cmd+k|ctrl+k

Navigation

Languages

Arrays2DExamples

Snippet info

Language

Csharp

Visibility

public

Author

speranskiyva

Created

2019-03-16T15:30:53Z

Updated

2019-03-16T15:41:53Z

using System;

class MainClass {
    static void Main() {
            Random r = new Random();

//  Для торговых компаний, выяснить, кто приносит убытки и выдать информацию о том,
//  какую компанию рекомендуется закрыть по итгам финансового года
            double[,] income;
            const int months = 12;
            const int firms = 6;

            income = new double[months, firms];

            for (int m = 0; m < months; m++)
            {
                for (int f = 0; f < firms; f++)
                {
//                    Console.Write("{0:000.00}\t", (income[m, f] = r.NextDouble() * 2000 - 1000));
                    income.SetValue(r.NextDouble() * 2000 - 1000, m, f);
                    Console.Write("{0:000.00}\t", income[m, f]);
                }
                Console.WriteLine();
            }

            double[] monthIncome = new double[months];
            double[] firmIncome = new double[firms];

            for (int m = 0; m < months; m++)
                for (int f = 0; f < firms; f++)
                    monthIncome[m] += income[m, f];

            for (int f = 0; f < firms; f++)
                for (int m = 0; m < months; m++)
                    firmIncome[f] += income[m, f];

            Console.WriteLine("\n\nMonth by firms");
            foreach (var item in monthIncome)
                Console.Write("{0:000.00}\t", item/firms);

            Console.WriteLine("\n\nFirms by month");
            foreach (var item in firmIncome)
                Console.Write("{0:000.00}\t", item/months);

            int[] negativesNumber = new int[firms];

            for (int f = 0; f < firms; f++)
                for (int m = 0; m < months; m++)
                    negativesNumber[f] += (income[m, f]<0?1:0);
                    //negativesNumber[f] = negativesNumber[f] + (income[m, f]<0?1:0);

            Console.WriteLine("\n\nNegative months: ");
            foreach (var item in negativesNumber)
                Console.Write("{0}\t", item);

            Console.WriteLine();
            int n = 0;
            foreach (var item in negativesNumber)
            {
                if (item > 6)
                    Console.WriteLine("Закрываем компанию с номером: {0}", n);
                n++;
            }

// Узнать кол-во оценок 2, 3, 4, 5 для каждого ученика класса
            int[,] marks;

            const int pupils = 12;
            const int subjects = 6;

            marks = new int[pupils, subjects];

            for (int m = 0; m < pupils; m++)
            {
                for (int f = 0; f < subjects; f++)
                {
                    //                    Console.Write("{0:000.00}\t", (income[m, f] = r.NextDouble() * 2000 - 1000));
                    marks.SetValue(2 + r.Next() % 4, m, f);
                    Console.Write("{0}\t", marks[m, f]);
                }
                Console.WriteLine();
            }

            const int marksRange = 4;  // количество различных оценок
            int[,] marksNumber = new int[pupils, marksRange];

            for (int p = 0; p < pupils; p++)
                for (int s = 0; s < subjects; s++)
                    marksNumber[p, (marks[p, s] - 2)]++;

            for (int p = 0; p < pupils; p++)
            {
                for (int s = 0; s < marksRange; s++)
                    Console.Write("{0}\t", marksNumber[p, s]);
                Console.WriteLine();
            }
    }
}
INFO