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

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

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

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.3.2025

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

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

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

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

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

ОТЧЁТ

ЛАБОРАТОРНАЯ РАБОТА № 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. Голі або Голак
3. Статья- Трансперсональная арт-терапия и психическая целостность личности
4. нибудь пожалуй станет казаться невероятным что существовали такие города
5. I Основные сведения об оперативной памяти
6. Тема 2- Логічні функції та їх властивості.html
7. Эпоха дворцовых переворотов Ключевский Историей этой эпохи как и эпохой Петра занимались десятки исто
8. Основные направления современной мировой философии
9. Введение Для производства изделий из древесины исходный материал в виде досок листов фанеры и древесных
10. Реферат- Бюджетная политика государства