Lavig

HomeController

Sep 24th, 2026 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.67 KB | None | 0 0
  1. // Приватний метод для обчислення різниці квадратів елементів масивів C = A² - B²
  2. private void Difference(double[] a, double[] b, double[] c)
  3. {
  4.     // Проходимо циклом по кожному з 10 елементів масивів (індекси від 0 до 9)
  5.     for (int i = 0; i < 10; i++)
  6.     {
  7.         // Підносимо елемент a[i] та b[i] до квадрата через множення й записуємо результат у масив c[i]
  8.         c[i] = a[i] * a[i] - b[i] * b[i];
  9.     }
  10. }
  11.  
  12. // Action-метод контролера, який відповідає за сторінку Першого завдання (за адресою /Home/Task1)
  13. public IActionResult Task1()
  14. {
  15.     // Створюємо новий об'єкт моделі для передачі даних у Представлення (View)
  16.     ArrayViewModel model = new ArrayViewModel();
  17.  
  18.     // Створюємо генератор випадкових чисел
  19.     Random rnd = new Random();
  20.  
  21.     // Виділяємо пам'ять під масиви на 10 елементів кожен
  22.     model.A = new double[10];
  23.     model.B = new double[10];
  24.     model.C = new double[10];
  25.  
  26.     // Заповнюємо масиви A та B випадковими значеннями
  27.     for (int i = 0; i < 10; i++)
  28.     {
  29.         // Генерує випадкове ціле число від 1 до 9 і записує в масив A
  30.         model.A[i] = rnd.Next(1, 10);
  31.  
  32.         // Генерує випадкове ціле число від 1 до 9 і записує в масив B
  33.         model.B[i] = rnd.Next(1, 10);
  34.     }
  35.  
  36.     // Викликаємо наш приватний метод для розрахунку масиву C
  37.     Difference(model.A, model.B, model.C);
  38.  
  39.     // Повертаємо View (Task1.cshtml) і передаємо туди заповнену модель
  40.     return View(model);
  41. }
  42.  
  43. // Приватний метод для знаходження добутку елементів двовимірної матриці нижче головної діагоналі
  44. private long DiagonalProduct(int[,] matrix)
  45. {
  46.     // Початкове значення 1 (якщо взяти 0, то будь-яке множення дасть 0; тип long використовується, щоб уникнути переповнення)
  47.     long product = 1;
  48.  
  49.     // Зовнішній цикл перебирає рядки матриці (від 0 до 4)
  50.     for (int i = 0; i < 5; i++)
  51.     {
  52.         // Внутрішній цикл перебирає стовпчики матриці (від 0 до 4)
  53.         for (int j = 0; j < 5; j++)
  54.         {
  55.             // Умова (i > j) визначає елементи, які розміщені суворо нижче головної діагоналі (номер рядка більший за номер стовпчика)
  56.             if (i > j)
  57.             {
  58.                 // Намножуємо поточне значення комірки матриці на загальний добуток
  59.                 product *= matrix[i, j];
  60.             }
  61.         }
  62.     }
  63.  
  64.     // Повертаємо обчислений підсумок
  65.     return product;
  66. }
  67.  
  68. // Action-метод контролера, який відповідає за сторінку Другого завдання (за адресою /Home/Task2)
  69. public IActionResult Task2()
  70. {
  71.     // Створюємо екземпляр моделі
  72.     ArrayViewModel model = new ArrayViewModel();
  73.  
  74.     // Створюємо генератор випадкових чисел
  75.     Random rnd = new Random();
  76.  
  77.     // Створюємо двовимірний масив (матрицю) розміром 5х5
  78.     model.Matrix = new int[5, 5];
  79.  
  80.     // Заповнюємо матрицю 5х5 випадковими числами за допомогою вкладених циклів
  81.     for (int i = 0; i < 5; i++)
  82.     {
  83.         for (int j = 0; j < 5; j++)
  84.         {
  85.             // Записуємо в кожен елемент [i, j] випадкове число від 1 до 9
  86.             model.Matrix[i, j] = rnd.Next(1, 10);
  87.         }
  88.     }
  89.  
  90.     // Обчислюємо добуток елементів нижче діагоналі та зберігаємо результат у відповідну властивість моделі
  91.     model.ProductBelowDiagonal = DiagonalProduct(model.Matrix);
  92.  
  93.     // Повертаємо View (Task2.cshtml) із передачею заповненої моделі
  94.     return View(model);
  95. }
Advertisement
Add Comment
Please, Sign In to add comment