Лабораторная работа №6. Многомерные массивы
Цель работы: приобретение навыков программирования при решении задач с использованием многомерных массивов.
Отчет на лабораторную работу должен содержать:
- задание по варианту;
- листинг программы, записанного по правилам языка Си/Си++ (все значения для вычисления ввести с клавиатуры.);
- составить блок-схему данного алгоритма;
- скриншот результата программы.
6.1 Варианты заданий
1. Дано число k (0 < k < 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы.
2. Дана матрица размера 5 x 9. Найти суммы элементов всех ее четных1|нечетных2 строк3|столбцов4.
3. Получить целочисленную квадратную матрицу , элементами диагоналей которой являются упорядоченные числа по возрастанию.
4. Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя 1 и 2 ее блоки :
| |||
| |||
б) 5. Дана действительная квадратная матрица порядка n. Найти наименьшее из значений элементов, расположенных в заштрихованной части матрицы.
5. Дана матрица размера 5 x 10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке1|столбце2.
6. Дана матрица размера 5 x 10. Найти минимальное1|максимальное2 значение среди сумм элементов всех ее строк3|столбцов4 и номер строки3|столбца4 с этим минимальным1|максимальным2 значением.
7. Дана матрица размера 5 x 10. Найти минимальный1|максимальный2 среди максимальных1|минимальных2 элементов каждой строки3|столбца4.
8. Дана целочисленная матрица размера 5 x 10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк3|столбцов4 нет, то вывести 0.
9. Дана матрица размера 5 x 10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего только положительные элементы. Если таких строк3|столбцов4 нет, то вывести 0.
10. Дана целочисленная матрица размера M x N. Различные строки (столбцы) матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках (столбцах). Найти количество строк1|столбцов2, похожих на первую3|последнюю4 строку1|столбец2.
11. Дана целочисленная матрица размера M x N. Найти количество ее строк1|столбцов2, все элементы которых различны.
12. Дана целочисленная матрица размера M x N. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего максимальное количество одинаковых элементов.
13. Дана квадратная матрица порядка M. Найти сумму элементов ее главной1|побочной2 диагонали.
14. Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной1|побочной2 (начиная с одноэлементной диагонали A[1,M]1|A[1,1]2).
15. Дана квадратная матрица порядка M. Вывести минимальные1|максимальные2 из элементов каждой ее диагонали, параллельной главной3|побочной4 (начиная с одноэлементной диагонали A[1,M]3|A[1,1]).
6.2 Методические указания к выполнению лабораторной работы
Многомерный массив –это массив , элементами которого являются массивы. Размерность массива – это количество индексов, используемых для ссылки на конкретный элемент массива.Описание типа массива задается следующим образом:
тип имя_масссива [размер1] [размер2]… [размерn];
Пример - ввод и вывод массива
...
for (i=0; i<N; i++) // заполнение
for (j=0; j<N; j++) // двумерного массива
scanf (“%d”, &A[i][j]); // значениями с клавиатуры:
for (i=0; i<N; i++) // вывод
for (j=0; j<N; j++) // на экран значений
printf (“%d ”, A[i][j]); // элементов массива
Контрольные вопросы
1. Как описывается двумерный массив ?
2. Какими методами можно проинициализировать массив?
3. С помощью каких операторов можно ввести элементы массива?
4. В каком случае размерность массива можно явно не указывать.
5. Есть ли стандартная библиотека для работы с массивами?
6. С помощью каких операторов можно вывести элементы массива?
7. Что такое многомерный массив?
8. Можно ли присваивать элементы одного массива другому?