Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 3 по курсу Языки программирования Программирование с использованием многомерных м

Работа добавлена на сайт samzan.net:


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет Автоматики и Вычислительной Техники

Кафедра Вычислительной Техники

ОТЧЁТ

ЛАБОРАТОРНАЯ РАБОТА № 3

по курсу Языки программирования

Программирование с использованием многомерных массивов

Группа: АБ - 221

Студент: Кропачев А. С.

Преподаватель: Малявко А.А.

Новосибирск 2013

1. Цель лабораторной работы:

Освоить использование многомерных, динамических и ступенчатых массивов, изучить свойства компонента dataGridView.

2. Задание:

4. Даны две прямоугольные вещественные матрицы. Вычислить их произведение, сформировать ступенчатый массив и занести в него только неотрицательные элементы произведения исходных матриц.

17. Преобразовать заданную трехмерную целочисленную матрицу в ступенчатый трехмерный массив, включив в него только уникальные элементы строк исходной матрицы.

3. Текст программы решения задачи:

№4:

//4. Даны две прямоугольные вещественные матрицы.

//Вычислить их произведение, сформировать ступенчатый массив и занести в него только неотрицательные элементы произведения исходных матриц.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace v4

{

   public partial class Form1 : Form

   {

       int width = 10, height = 10;

       public Form1()

       {

           InitializeComponent();

       }

       private void Form1_Load(object sender, EventArgs e)

       {

           dataGridView1.Rows.Clear();

           dataGridView1.RowCount = height; //Указываем количество строк

           dataGridView1.ColumnCount = width*3+2; //Указываем количество столбцов

           Random rand = new Random();

           //задаем ширину строк и столбцов

           for (int i = 0; i < dataGridView1.ColumnCount; i++)

               dataGridView1.Columns[i].Width = 35;

           for (int i = 0; i < dataGridView1.RowCount; i++)

               dataGridView1.Rows[i].Height = 20;    

           

           //инициализируем 3 массива 

           int[,] a = new int[height, width];

           int[,] b = new int[height, width];

           int[,] res = new int[height, width];

           //заполняем 2 таблицы случайными значениями

           for (int i = 0; i < height; i++)

               for (int j = 0; j < width; j++)

               {

                   a[i,j] = rand.Next(-99, 99);

                   dataGridView1.Rows[i].Cells[j].Value = a[i,j];

               }

           for (int i = 0; i < height; i++)

               for (int j = 0; j < width; j++)

               {

                   b[i, j] = rand.Next(-99, 99);

                   dataGridView1.Rows[i].Cells[j + width + 1].Value = b[i, j];

               }

           //Перемножаем таблицы и заполняем результат

           for (int i = 0; i < height; i++)

               for (int j = 0; j < width; j++)

               {

                   res[i, j] = a[i, j] * b[i, j];

                   if (res[i, j] > 0)

                       dataGridView1.Rows[i].Cells[j + 2 * width + 2].Value = res[i, j];

               }

       }

   }

}

№17:

//17. Преобразовать заданную трехмерную целочисленную матрицу в ступенчатый трехмерный массив,

//      включив в него только уникальные элементы строк исходной матрицы.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace v17

{

   public partial class Form1 : Form

   {

       static int width = 10, height = 10, depth = 4;

       //инициализируем 3 мерный массив

       int[, ,] a = new int[height, width, depth];

       public Form1()

       {

           InitializeComponent();

       }

       private void Form1_Load(object sender, EventArgs e)

       {

           dataGridView1.Rows.Clear();

           dataGridView1.RowCount = height; //Указываем количество строк

           dataGridView1.ColumnCount = depth*(width + 1); //Указываем количество столбцов

           Random rand = new Random();

           //задаем ширину строк и столбцов

           for (int i = 0; i < dataGridView1.ColumnCount; i++)

               dataGridView1.Columns[i].Width = 20;

           for (int i = 0; i < dataGridView1.RowCount; i++)

               dataGridView1.Rows[i].Height = 20;            

           

           //заполняем массив cлучайными значениями

           for (int i = 0; i < height; i++)

               for (int j = 0; j < width; j++)

                   for (int k = 0; k < depth; k++)

                   {

                       a[i, j, k] = rand.Next(0, 20);

                       dataGridView1.Rows[i].Cells[j+(width+1)*k].Value = a[i, j, k];

                   }                       

       }

       private void button1_Click(object sender, EventArgs e)

       {

           for (int i = 0; i < height; i++)

               for (int j = 0; j < width; j++)

                   for (int k = 0; k < depth; k++)

                   {

                       bool b = false;

                       for (int z = j+1; z<width; z++)

                           if (a[i, j, k] == a[i, z, k])

                           {

                               dataGridView1.Rows[i].Cells[z + (width + 1) * k].Style.ForeColor=Color.LightGray;

                               b = true;

                           }

                       if (b)

                           dataGridView1.Rows[i].Cells[j + (width + 1) * k].Style.ForeColor = Color.LightGray;

                   }   

       }

   }

}

4. Результаты работы программ:

№ 4

№ 17




1. Новейшая история России с позиций национально-государственного патриотизм
2. .ПР.15.ПЗ Лист Пров Щепина Е
3. Эксперт СевероЗапад 14 510 - 11 апр 2011 04-59 Музейнокреативный ресурс Игорь Архипов
4. Управленческий учет на предприятии
5. Описание предметной области Определение модели выбора системы Назначение руководителя проекта по со
6. Крестьянская реформа 1861 г. и ее значение
7. Вариант ’12 Часть А
8. Тема Телм~р ~~тере~ лек ~~ре Йы~азландырыу К~н
9. Тема 1 Законы отражения и преломления электромагнитных волн Задание 1 При переходе света из вакуума возд
10. Реферат- Мировой финансовый кризис 2008 года
11. Синее учебное пособие ~ стр
12. Тема- Правовой режим земель энергетики
13. Лабораторная работа ’ 34
14. Вступление Аристотель ученик Платона воспитатель Александра Македонского.
15. Перемены К началу августа старшие братья наконецто вплотную занялись подготовкой к новому турне Майкла
16. СЕТЬ; 2 сигнальна лампочка; 3 ручка резистора
17. Толкование норм права
18. тема машин состоявшая из универсального парового двигателя рабочих машин и передаточных механизмов стала
19. то сказала Что прокричал он
20. ОберегивышивкиДомашние обереги