Операції з матрицями: сума та транспонування
Свайпніть щоб показати меню
Операції з матрицями є важливою складовою багатьох програмних задач, особливо при роботі з даними, які природно організовані у вигляді сітки, наприклад, зображення, електронні таблиці або ігрові поля. Дві основні операції, які часто виконуються над матрицями (двовимірними масивами), — це обчислення суми всіх їх елементів та транспонування. Підрахунок суми всіх елементів корисний для аналізу даних, а транспонування матриці — обмін місцями рядків і стовпців — є ключовим у математичних обчисленнях, графіці та алгоритмах, які потребують іншої орієнтації даних.
Program.cs
12345678910111213141516171819202122232425262728// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6} }; int sum = 0; for (int row = 0; row < matrix.GetLength(0); row++) { for (int col = 0; col < matrix.GetLength(1); col++) { sum += matrix[row, col]; } } Console.WriteLine("Sum of all elements: " + sum); } } }
Щоб обчислити суму всіх елементів у двовимірному масиві, використовуються вкладені цикли: зовнішній цикл проходить по кожному рядку, а внутрішній — по кожному стовпцю в цьому рядку. Для кожного елемента його значення додається до поточної суми. У наведеному вище прикладі програма обчислює суму всіх елементів у матриці розміром 2x3, звертаючись до кожного значення через matrix[row, col] і накопичуючи їх у змінній sum.
Program.cs
123456789101112131415161718192021222324252627282930313233343536373839// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int size = matrix.GetLength(0); int[,] transposed = new int[size, size]; for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { transposed[col, row] = matrix[row, col]; } } Console.WriteLine("Transposed matrix:"); for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { Console.Write(transposed[row, col] + " "); } Console.WriteLine(); } } } }
Цей код виконує транспонування матриці. Починається з матриці 3×3 і створює нову матрицю, у якій рядки та стовпці поміняні місцями. За допомогою вкладених циклів кожен елемент на позиції (row, col) переноситься на позицію (col, row) у транспонованій матриці. Програма потім виводить отриману матрицю, демонструючи, як початкові рядки стають стовпцями.
Транспонування матриці означає перетворення її рядків у стовпці та навпаки.
1. Який результат транспонування матриці 2x3?
2. Як знайти суму всіх елементів у двовимірному масиві?
3. Чому транспонування корисне в операціях над матрицями?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат