Advertisement
Jerril_Alexandr

Laba 1 Varik 1

May 23rd, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ЛР1_1
  8. {
  9.     class Program
  10.     {
  11.         //Процедура проверки расположения элементов главной диагонали матрицы по возрастанию
  12.         static void CheckGlDiagVozrast(int[,] A, int N, out bool Status)
  13.         {
  14.             Status = true;
  15.             for (int i = 0; i < N - 1; i++)
  16.             {
  17.                 if (A[i, i] < A[i + 1, i + 1])
  18.                 {
  19.                     Status = false;
  20.                     break;
  21.                 }
  22.             }
  23.         }
  24.  
  25.         //Процедура подсчёта суммы всех элементов в матрице
  26.         static void GetSumMass(int[,] A, int N, out int Sum)
  27.         {
  28.             Sum = 0;
  29.             for (int i = 0; i < N; i++) {
  30.                 for (int j = 0; j < N; j++) {
  31.                     Sum = Sum + A[i, j];
  32.                 }
  33.             }
  34.         }
  35.  
  36.         //Метод вывода матрицы на экран (для отладки).
  37.         static void ViewMatrix(int[,] A, int N)
  38.         {
  39.             for (int i = 0; i < N; i++)
  40.             {
  41.                 Console.Write("|\t");
  42.                 for (int j = 0; j < N; j++)
  43.                 {
  44.                     Console.Write("{0} \t", A[i, j]);
  45.                 }
  46.                 Console.Write("|\n");
  47.             }
  48.         }
  49.  
  50.  
  51.         static void Main(string[] args)
  52.         {
  53.             //Объявление матрицы размером NxN
  54.             int N = 3;
  55.             int[,] Matrix = new int[N, N];
  56.  
  57.             //Заполнение матрицы случайными числами от -10 до 10
  58.             Random rand = new Random();
  59.             for (int i = 0; i < N; i++)
  60.             {
  61.                 for (int j = 0; j < N; j++)
  62.                 {
  63.                     Matrix[i, j] = rand.Next(21) - 10;
  64.                 }
  65.             }
  66.  
  67.             //Вывод на экран сгенерированной матрицы с помощью метода ViewMatrix(для отладки)
  68.             ViewMatrix(Matrix, N);
  69.  
  70.             //Вызов процедуры подсчёта суммы элементов в матрицы
  71.             int OldSum;
  72.             GetSumMass(Matrix, N, out OldSum);
  73.             Console.WriteLine("Сумма элементов матрицы: {0}", OldSum);
  74.  
  75.             //Вызов и обработка результата процедуры CheckGlDiagVozrast
  76.             bool Status;
  77.             CheckGlDiagVozrast(Matrix, N, out Status);
  78.             if(Status == true)
  79.             {
  80.                 for (int i = 0; i < N; i++)
  81.                 {
  82.                     for (int j = i; j < N; j++)
  83.                     {
  84.                         if (Matrix[i, j] < 0)
  85.                         {
  86.                             Matrix[i, j] = 0;
  87.                         }
  88.                     }
  89.                 }
  90.  
  91.                 //Вывод на экран полученной матрицы(для отладки)
  92.                 Console.WriteLine("Новая матрица:");
  93.                 ViewMatrix(Matrix, N);
  94.  
  95.                 //Находим сумму элементов в новой матрице
  96.                 int NewSum;
  97.                 GetSumMass(Matrix, N, out NewSum);
  98.                 Console.WriteLine("Сумма элементов матрицы: {0}", NewSum);
  99.  
  100.                 //Вычисляем и выводим результат, на сколько изменилась сумма элеметов матрицы
  101.                 int Izmen = OldSum - NewSum;
  102.                 if (Izmen != 0)
  103.                     Console.WriteLine("Сумма элеметов матрицы изменилась на {0}", Math.Abs(Izmen));
  104.                 else
  105.                     Console.WriteLine("Сумма элементов матрицы не изменилась.");
  106.             }
  107.             else {
  108.                 Console.WriteLine("Элементы главной диагонали матрицы не расположены в порядке убывания.");
  109.             }
  110.  
  111.             Console.ReadKey();
  112.         }
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement