Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ЛР1_1
- {
- class Program
- {
- //Процедура проверки расположения элементов главной диагонали матрицы по возрастанию
- static void CheckGlDiagVozrast(int[,] A, int N, out bool Status)
- {
- Status = true;
- for (int i = 0; i < N - 1; i++)
- {
- if (A[i, i] < A[i + 1, i + 1])
- {
- Status = false;
- break;
- }
- }
- }
- //Процедура подсчёта суммы всех элементов в матрице
- static void GetSumMass(int[,] A, int N, out int Sum)
- {
- Sum = 0;
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < N; j++) {
- Sum = Sum + A[i, j];
- }
- }
- }
- //Метод вывода матрицы на экран (для отладки).
- static void ViewMatrix(int[,] A, int N)
- {
- for (int i = 0; i < N; i++)
- {
- Console.Write("|\t");
- for (int j = 0; j < N; j++)
- {
- Console.Write("{0} \t", A[i, j]);
- }
- Console.Write("|\n");
- }
- }
- static void Main(string[] args)
- {
- //Объявление матрицы размером NxN
- int N = 3;
- int[,] Matrix = new int[N, N];
- //Заполнение матрицы случайными числами от -10 до 10
- Random rand = new Random();
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < N; j++)
- {
- Matrix[i, j] = rand.Next(21) - 10;
- }
- }
- //Вывод на экран сгенерированной матрицы с помощью метода ViewMatrix(для отладки)
- ViewMatrix(Matrix, N);
- //Вызов процедуры подсчёта суммы элементов в матрицы
- int OldSum;
- GetSumMass(Matrix, N, out OldSum);
- Console.WriteLine("Сумма элементов матрицы: {0}", OldSum);
- //Вызов и обработка результата процедуры CheckGlDiagVozrast
- bool Status;
- CheckGlDiagVozrast(Matrix, N, out Status);
- if(Status == true)
- {
- for (int i = 0; i < N; i++)
- {
- for (int j = i; j < N; j++)
- {
- if (Matrix[i, j] < 0)
- {
- Matrix[i, j] = 0;
- }
- }
- }
- //Вывод на экран полученной матрицы(для отладки)
- Console.WriteLine("Новая матрица:");
- ViewMatrix(Matrix, N);
- //Находим сумму элементов в новой матрице
- int NewSum;
- GetSumMass(Matrix, N, out NewSum);
- Console.WriteLine("Сумма элементов матрицы: {0}", NewSum);
- //Вычисляем и выводим результат, на сколько изменилась сумма элеметов матрицы
- int Izmen = OldSum - NewSum;
- if (Izmen != 0)
- Console.WriteLine("Сумма элеметов матрицы изменилась на {0}", Math.Abs(Izmen));
- else
- Console.WriteLine("Сумма элементов матрицы не изменилась.");
- }
- else {
- Console.WriteLine("Элементы главной диагонали матрицы не расположены в порядке убывания.");
- }
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement