|
|||
Тверской государственный технический университет.Тверской государственный технический университет. Отчет о практике Многомерные массивы Выполнил студент группы ИВТ 127 Дедов А. Н. Проверил: Филиппов А. Е. Тверь 2012 Задача: Дана вещественная матрица (N*M), все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом. using System; using System. Collections. Generic; using System. Linq; using System. Text;
class Program { static void Main(string[] args) { double[, ] mas = { { 1. 5, 2. 5, 4, 14, 4. 45 }, { 10, 2. 25, 1. 25, 8, 7 }, { 4. 2, 15, 21. 25, 12, 7. 2 }, { 10. 5, 0, 9. 45, 2. 6, 7. 4 }, { 4. 8, 0. 5, 9. 81, 1. 22, 5 }}; for (int i = 0; i < mas. GetLength(0); i++) { for (int j = 0; j < mas. GetLength(1); j++) Console. Write(mas[i, j] + " \t" ); Console. WriteLine(); } // ищем индекс строки с наименьшим элементом int index_row = 0; double max_elem = mas[0, 0]; for (int i = 0; i < mas. GetLength(0); i++) { for (int j = 0; j < mas. GetLength(1); j++) { if (mas[i, j] > max_elem) { max_elem = mas[i, j]; index_row = i; } } } Console. WriteLine(); // ищем индекс столбца с минимальным элементом int index_column = 0; double min_elem = mas[0, 0]; for (int i = 0; i < mas. GetLength(1); i++) { for (int j = 0; j < mas. GetLength(0); j++) { if (mas[j, i] < min_elem) { min_elem = mas[j, i]; index_column = i; } } } // скалярное произведение double skalyar = 0; for (int i = 0; i < mas. GetLength(0); i++) { skalyar += mas[index_row, i] * mas[i, index_column]; } Console. WriteLine(" Скаляр равен: " + skalyar); Console. ReadKey(); } }
|
|||
|