Хелпикс

Главная

Контакты

Случайная статья





Тверской государственный технический университет.



Тверской государственный технический университет.

Отчет о практике

Многомерные массивы

Выполнил студент

группы ИВТ 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();

}

}


 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.