Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы_по_проге_Берлин / Лабораторная работа 4

.docx
Скачиваний:
32
Добавлен:
11.02.2015
Размер:
17.11 Кб
Скачать

Лабораторная работа №4. Двумерные массивы

Теория

Многомерный массив в C++ по своей сути одномерен. Операции new[] и delete[] позволяют создавать и удалять динамические массивы, поддерживая при этом иллюзию произвольной размерности. Деятельность по организации динамического массива требует дополнительного внимания, которое окупается важным преимуществом: характеристики массива (операнды операции new) могут не быть константными выражениями. Это позволяет создавать многомерные динамические массивы произвольной конфигурации. Организация двумерного динамического массива производится в два этапа.

Сначала создаётся одномерный массив указателей, а затем каждому элементу

этого массива присваивается адрес одномерного массива. Для характеристик

размеров массивов не требуется константных выражений.

Следующий пример иллюстрирует работу с динамическими массивами:

int dim1=5,dim2=6;

int **pArr = new int*[dim1]; //создается указатель на массив указателей

for (i = 0; i < dim1; i++) pArr[i] = new int[dim2]; //создаются указатели на элементы массива указателей

cout << pArr[3][3] << endl;

В остальном работа с массивами схожа по своим принципам с массивами в C++.

Общие указания

Текст программ должен начинаться комментарием, содержащим: фамилию, имя, группу.

Задание

1. Дана целочисленная прямоугольная матрица. Определить:

количество строк, не содержащих ни одного пулевого элемента;

максимальное из чисел, встречающихся в заданной матрице более одного раза.

2. Дана целочисленная прямоугольная матрица.

Определить количество столбцов, не содержащих ни одного нулевого элемента.

Характеристикой строки целочисленной матрицы назовем сумму положительных четных элементов. Переставляя строки заданной матрицы, paсположить их в соответствии с ростом характеристик.

3. Дана целочисленная прямоугольная матрица. Определить:

количество столбцов, содержащих хотя бы один нулевой элемент;

номер строки, в которой находится самая длинная серия одинаковых элементов

4. Дана целочисленная квадратная матрица. Определить:

произведение элементов в тех строках, которые не содержат отрицательных элементов;

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

5. Дана целочисленная квадратная матрица. Определить:

сумму элементов в тех столбцах, которые не содержат отрицательных элементов

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

6. Дана целочисленная прямоугольная матрица. Определить:

сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;

номера строк и столбцов всех седловых точек матрицы.

ПРИМЕЧАНИЕ Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i-й строке и максимальным - в j-м столбце.

7. Для заданной матрицы размером 8x8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.

8. Характеристикой столбца целочисленной матрицы назовем сумму модулей отрицательных нечетных элементов.

Переставляя столбцы заданной матрицы расположить их в соответствии с ростом характеристик.

Найти сумму элементов тех столбцах, которые содержат хотя бы один отрицательный элемент

9. Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.

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

10. Дана целочисленная прямоугольная матрица. Определить:

количество строк, содержащих хотя бы один нулевой элемент;

номер столбца, в котором находится самая длинная серия одинаковых элементов.