Лабораторная работа №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. Можно ли присваивать элементы одного массива другому?