Практическая работа №26, 27, 28 — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Практическая работа №26, 27, 28

2017-10-11 527
Практическая работа №26, 27, 28 0.00 из 5.00 0 оценок
Заказать работу

 

Название практической работы: создание проектов для работы с двумерными массивами

Цель работы: 1) освоить заполнение двумерных массивов разными способами;

2) освоить вывод элементов двумерного массива в сетку dataGridView;

3) освоить выполнение типовых операций обработки двумерных массивов.

знания (актуализация)

· понятие двумерного массива;

· правила описания двумерных массивов;

· план работы с двумерными массивами;

умения:

· создавать проекты для работы с двумерными массивами.

Теоретический материал

В повседневной жизни довольно часто приходится иметь дело с информацией, которая представлена в табличной форме. Колонки и (или) строки таблицы, как правило, состоят из однородной информации. Поэтому в программе, обрабатывающей табличные данные, имеет смысл использовать массивы для хранения и обработки таблиц. Такая таблица может быть представлена как двумерный массив.

Для работы с двумерными массивами используются вложенные циклы.

 

 
А
А11

А
А12

А13 А14
A [3, 4]
А
А21

А
А22

А
А23

А
А
А24

 
А
А31

А
А32

А
А
А33

А
А34

 

Пример: создадим приложение, которое выводит двухмерный массив случайных чисел в объекте dataGridView и определяет минимальный элемент.

 

int [,] a=new int [3, 4];

//заполнение массива случайными числами и вывод его в сетку

Random rnd=new Random();

private void button1_Click(object sender, EventArgs e)

{

dataGridView1.RowCount=3;

dataGridView1.ColumnCount=4;

 

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

{

//заполнение заголовков строк порядковыми номерами

dataGridView1.Rows[i].HeaderCell.Value = (i+1).ToString();

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

{

a[i,j] = rnd.Next(-10, 11);

dataGridView1[j,i].Value= a[i,j].ToString();

}

}

}

//поиск минимального элементов по строкам и вывод их в ту же сетку

private void button2_Click(object sender, EventArgs e)

{

dataGridView1.ColumnCount=5;

dataGridView1.Columns[4].HeaderText = "Min";

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

{

int min=a[i,0];

for (int j = 1; j < 4; j++)

{

if (a[i,j]<min) min=a[i,j];

}

dataGridView1[4,i].Value= min.ToString();

}

}

Ход работы

1. Cформируйте квадратную матрицу порядка n по заданному образцу (обратите внимание на заливку ячеек сетки):

                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                  -5  
                                -5 -5  
                              -5 -5 -5  
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                -3 -3 -3                
                -3 -3 -3                
                -3 -3 -3                
                                     
                                     
                                     
                                     
                                     
                             
                             
                                     

2. Составьте проект для решения ниже приведенных задач. Если сказано, что массив заполнен некоторыми числами – используйте либо заполнение случайными числами (диапазон случайных чисел определяйте самостоятельно, опираясь на смысл задачи), либо заполнение с клавиатуры.

Рекомендации: старайтесь оформлять действия с сеткой и массивами в виде отдельных методов соответствующих классов.

1 Сформировать двумерный массив M размерностью 4х3 по правилу: элементы первой строки=1, второй строки=2, все остальные=3. Найти сумму и произведение всех элементов, а также максимальный элемент массива.
2 Найти сумму всех положительных элементов массива Y[4, 4], найти среднее арифметическое всех элементов. Массив сформировать случайным образом.
3 Задан двумерный массив из 12-ти элементов. Разделить каждый элемент массива на 7. Результат сохранить в том же массиве.
4 Определить сумму элементов главной диагонали матрицы, сумму элементов побочной диагонали.
5 Дан двумерный массив. Определить: 1) сумму элементов второго столбца массива, больших 10; 2) сумму элементов третьей строки массива, не превышающих 25; 3) количество ненулевых элементов первой строки массива; 4) количество элементов второго столбца массива, больших 15; 5) сумму отрицательных элементов пятой строки массива; 6) сумму элементов четвертого столбца массива, меньших 100; 7) количество элементов четвертой строки массива, меньших 5; 8) количество ненулевых элементов второго столбца массива, больших 15; 9) среднее арифметическое четных элементов третьего столбца; 10) среднее арифметическое элементов четвертой строки, кратных трем; 11) среднее арифметическое нечетных элементов пятой строки; 12) среднее арифметическое элементов четвертого столбца, кратного четырем.
6 В квадратной матрице выделим четыре четверти, ограниченные главной и побочной диагоналями (без учета элементов, расположенных на диагоналях): верхнюю, нижнюю, левую и правую. Найти сумму элементов: · верхней четверти; · правой четверти; · нижней четверти; · левой четверти.
7 В массиве записаны целые числа. Вычислить: · произведение элементов побочной диагонали массива, меньших 10; · сумму элементов главной диагонали массива, оканчивающихся цифрой 7; · количество нулевых элементов, расположенных над главной диагональю массива; · число нечетных элементов, расположенных под побочной диагональю массива.
8 Дана матрица размера M × N и целое число K (1 ≤ KM). Найти сумму и произведение элементов K -й строки данной матрицы.
9 Дана матрица размера M × N и целое число K (1 ≤ KM). Найти сумму и произведение элементов K -го столбца данной матрицы.
10 В двумерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого по пятый (в первой строке — информация о группах первого курса, во второй — второго и т. д.). На каждом курсе имеется 8 групп. Составить программу для расчета общего числа студентов на любом курсе.
11 В двухмерном массиве хранится информация о зарплате 5 человек за каждый месяц года (первого человека — в первой строке, второго — во второй и т. д.). Составить программу для расчета общей зарплаты, полученной за год любым человеком, информация о зарплате которого представлена в массиве.
12 В поезде 10 вагонов, в каждом из которых 36 мест. Информация о проданных на поезд билетах хранится в двумерном массиве, номера строк которых соответствуют номерам вагонов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, определяющую число свободных мест в любом из вагонов поезда.
13 Дана матрица размера M × N. Для каждого столбца матрицы с четным номером (2, 4, …) найти сумму его элементов. Постарайтесь не использовать условный оператор.
14 Дана матрица размера M × N. В каждой строке (столбце) матрицы найти минимальный (максимальный) элемент.
15 Дан двумерный массив целых чисел. В каждой его строке (столбце) найти: 1) сумму отрицательных элементов; 2) количество четных элементов; 3) среднее арифметическое отрицательных элементов; 4) среднее арифметическое положительных элементов, кратных пяти; 5) количество элементов, попадающих в промежуток от a до b; 6) сумму нечетных положительных элементов; 7) количество положительных элементов, кратных k; 8) количество элементов, кратных a или b; 9) сумму элементов в строках с k1 по k2; 10) произведение отрицательных элементов в столбцах с k1 по k2; 11) поменять местами первый элемент и максимальный (минимальный); 12) ко всем четным элементам добавить значение первого элемента соответствующего столбца (строки).

3. Задачи посложнее.

1 Задана вещественная квадратная матрица порядка n. Составить программу вычисления суммы элементов матрицы A, расположенных в строках с отрицательным элементом на главной диагонали.
2 Пусть дана вещественная квадратная матрица порядка n. В строках с отрицательным элементом на главной диагонали найдите: · сумму элементов; · наибольший из элементов.
3 Пусть дана целочисленная квадратная матрица порядка п. Выясните, имеются ли в матрице ненулевые элементы, и если имеются, то укажите индексы: · первого из нулевых элементов; · всех нулевых элементов.
4 Дан двумерный массив. Определить: 1) номер столбца (первого), в котором расположен минимальный элемент четвертой строки массива; 2) номер строки (последней), в котором расположен максимальный элемент третьего столбца массива; 3) координаты минимального (первого, последнего) элемента массива; 4) координаты максимального (первого, последнего) элемента массива; 5) в каждой строке (столбце) – максимальный элемент; 6) в каждой строке (столбце) – минимальный элемент; 7) минимальную сумму элементов по строкам; 8) максимальную сумму элементов по столбцам.
5 Дана матрица размера M × N. Найти номер ее столбца с наименьшим произведением элементов и вывести данный номер, а также значение наименьшего произведения.
6 Дана матрица размера M × N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы.
7 Дана матрица размера M × N. Найти максимальный среди минимальных элементов ее строк.
8 Дана матрица размера M × N. Найти минимальный среди максимальных элементов ее столбцов.
9 Дана матрица размера M × N. В каждой ее строке найти количество элементов, меньших среднего арифметического всех элементов этой строки.
10 Дана матрица размера M × N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.
11 Дан двумерный массив из 2 столбцов и 10 строк. В его первом столбце записано количество мячей, забитых футбольной командой в той или иной игре, а во втором – количество пропущенных мячей в этой же игре. 1) Для каждой проведенной игры напечатать словесный результат: «выигрыш», «ничья» или «проигрыш». 2) Определить количество выигрышей данной команды. 3) Определить количество выигрышей и количество проигрышей данной команды. 4) Определить количество выигрышей, количество ничьих и количество проигрышей данной команды. 5) Определить, в скольких играх разность забитых и пропущенных мячей была большей или равной трем. 6) Определить общее число очков, набранных командой (за выигрыш дается 3 очка, за ничью – 1, за проигрыш – 0).

4. Ответьте на контрольные вопросы:

- Что такое массив?

- В чем разница между одномерными и двумерными массивами?

- Как осуществляется описание двумерных массивов на С#?

- Как можно осуществить ввод матрицы?

- Как можно организовать вывод матрицы?

5. Оформите и сдайте отчет преподавателю.

 

 


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.