Лабораторная работа №7. Разработка алгоритмов обработки двумерных массивов

 

Тема: Разработка алгоритмов со структурой вложенных циклов (обработка двумерных массивов) (4 часа)

Цель работы: Овладение практическими навыками разработки алгоритмов со структурой вложенных циклов, способами ввода-вывода двумерных массивов.

 

Задание на выполнение

Написать алгоритм обработки массива в соответствии с заданием. Вывести на печать результаты обработки и массив в общепринятом виде. Задание выполнить в соответствии с вариантом.

 

Задан двумерный массив.

 

1. Вычислить и запомнить сумму и количество положительных элементов каждого столбца матрицы. Результаты вывести в виде двух строк.

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

3. Вычислить количество и сумму элементов находящихся над главной диагональю.

4. Вычислить среднее арифметическое элементов находящихся под главной диагональю.

5. Если есть в массиве хотя бы один положительный элемент, то все отрицательные элементы обнулить и вывести массив в общепринятом виде.

6. Если количество отрицательных элементов является четным числом, записать на место отрицательных элементов нули, а вместо положительных - единицы и вывести нижнюю треугольную матрицу.

7. Найти в каждой строке максимальный и минимальный элемент массива и поместить их на место последнего и первого элемента строки. Вывести в общепринятом виде.

8. Транспонировать массив (заданный массив квадратный) и вывести на печать.

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

10. Из положительных элементов матрицы сформировать другую матрицу, располагая их в строках матрицы подряд, вывести в общепринятом виде.

11. Найти в каждой строке наибольший элемент и поменять местами с элементом на главной диагонали. Вывести в общепринятом виде.

12. Найти наибольший и наименьший элементы матрицы и поменять их местами.

13. Задана матрица n×m. Ввести исходные данные первые n-1 строки и m-1 столбцов. Вычислить среднее арифметическое значение элементов каждой строки и записать его в m-й столбец, а также среднее арифметическое каждого столбца и записать в n-ю строку. Результаты вывести в общепринятом виде.

14. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.

15. Упорядочить по возрастанию элементы каждой строки матрицы. Результаты вывести в общепринятом виде.

16. Дана матрица А={a(i, j)}, i=1,...,N, j=1,...,M. Найти количество элементов этой матрицы, больших среднего арифметического всех ее элементов.

Дополнительные задачи

 

1. Вычислить среднее геометрическое ненулевых элементов заданной матрицы X=X(i,j), i=1,2,...,N, j=1,2,...,M, расположенных в столбцах с нечетными номерами.

2. Дана матрица A={a(i, j)}, i,j=1,...,N. Вычислить сумму и произведение элементов этой матрицы, больших среднего геометрического элементов, расположенных в строках над побочной диагональю и на ней.

3. Дана матрица A={a(i, j)}, i,j=1,...,N. Вычислить сумму и произведение элементов этой матрицы, больших среднего геометрического элементов, расположенных над главной диагональю и на ней.

4. Дана матрица A={a(i, j)}, i,j=1,...,N. Вычислить среднее арифметическое нечетных элементов, расположенных над главной диагональю.

5. Дана квадратная матрица A размером n x n . Определить, встречается ли заданное число K среди максимальных элементов столбцов этой матрицы.

6. Дана квадратная матрица A. Переменной В присвоить значение, равное количеству строк матрицы А, содержащих хотя бы одну нулевую компоненту.

7. Дана матрица A размером n×m. Получить У = Х1*Хn+ Х2*Хn-1+...+Хn*Х1, где Хi - наименьший элемент в строке с номером i матрицы A.

8. Для заданной целочисленной матрицы Z=Z(i, j), i=1,2,...,N, j=1,2,...,M определить номер строки с наибольшей суммой четных элементов.

9. По трем заданным матрицам А={a(i, j)}, B={b(i, j)}, C={c(i, j)}, i,j=1,...,N построить матрицу Х={x(i, j)}, элементы которой вычисляются по формуле: x(i, j)=MAX{a(i, j), b(i, j), c(i, j)}.

10. Дана матрица A={a(i, j)}, i,j=1,...,N. Вычислить среднее арифметическое нечетных элементов, расположенных над главной диагональю.

11. Для заданной целочисленной матрицы Y={y(i, j)}, i,j=1,...,N вычислить среднее геометрическое положительных элементов, расположенных под главной диагональю.

12. Определить наименьший среди положительных нечетных элементов в заданной матрице W=W(i, j), i=1,...,N, j=1,...,M.

13. Дана матрица B размером n×m (n<=10). Получить вектор a1, a2, ..., an, компоненты которого находятся по правилу: ai равно первому по порядку положительному элементу в i-ой строке матрицы (если таких элементов в строке нет, то принять ai=-1).

14. Дана прямоугольная матрица A. Если хотя бы один элемент строки матрицы отрицателен, то все элементы этой строки заменить нулями.

15. Проверить, является ли заданная целочисленная матрица A размером n×m "магическим квадратом" (это значит, что суммы чисел во всех её строках, всех столбцах и двух диагоналях одинаковы).

16. В двумерном массиве Х определить номера столбцов, в которых среднее арифметическое его элементов меньше, чем среднее арифметическое всех элементов массива.

17. Определить номера строк матрицы А(1:N, 1:M), совпадающих с массивом D(1:M).

18. Элементы заданной прямоугольной матрицы переписать в одномерный массив.

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

20. Задана квадратная матрица А. Элементы k-ой строки матрицы А переписать в вектор Х, а элементы q-ого столбца переписать в вектор У. Найти скалярное произведение полученных векторов.

21. Задан двумерный массив A целых чисел (таблица) размерности (NxN). Определить количество элементов-чисел в записи, которых в старшем разряде встречается заданная цифра L.

22. Задана квадратная таблица (массив) целых чисел. Определить сумму элементов массива по столбцам, причем до столбца содержащий хотя бы один отрицательный элемент. Если таких столбцов несколько, то до столбца с большим номером.

23. Задан двумерный массив целых чисел (таблица) размерности (NxМ). Определить номера строк массива хотя бы один элемент, которых в записи содержит заданную цифру Х. Элементы этих строк удвоить.

24. Задан двумерный массив целых чисел (таблица) размерности (NxМ). Просуммировать элементы массива по строкам, причем до строки с наибольшим количеством положительных элементов, если таких строк несколько, то до строки с наибольшим номером.

25. Задан двумерный массив целых чисел (таблица) размерности (NxМ). Просуммировать элементы массива по столбцам, пока не встретится столбец с наибольшим количеством отрицательных элементов.

26. Задан двумерный массив целых чисел А. Определить сумму элементов массива, начиная с первой строки до строки с наименьшим количеством четных элементов, если таких строк несколько, то до строки с наибольшим номером.

27. Задан двумерный массив чисел размерности NхM. Для каждой строки определить количество изменений знака элементов массива и найти наибольшее количество изменений знака.

28. Задан двумерный массив положительных целых трехзначных чисел (таблица) размерности NxM. Определить количество элементов массива в записи, которых встречается заданная цифра.

29. Задан двумерный массив целых чисел размерности NхN. Найти сумму элементов массива расположенных ниже главной диагонали и больше заданного числа x.

30. Задан двухмерный массив положительных целых трехзначных чисел (таблица) размерности NxM. Определить количество элементов массива в записи, которых встречается заданная цифра.

31. Задан двумерный массив целых чисел размерности NхN. Найти сумму элементов массива расположенных ниже главной диагонали в записи, которых в старшем разряде имеется заданная цифра x.

32. Задан двумерный массив целых чисел положительных чисел размерности NхN. Найти количество элементов массива расположенных в строках с четными номерами и количество нечетных цифр, которых не более двух.

33. Задан двухмерный массив положительных целых трехзначных чисел размерности NxM. Определить количество элементов массива в записи, которых заданная цифра (число) встречается дважды.

 

 

Ввод – вывод и обработка двумерного массива производится с помощью вложенных циклов типа “Для…” (см. пример).

 

Пример выполнения задания: Задан двумерный массив целых A={aij} чисел размерности (n×n). Определить сумму элементов массива расположенных ниже побочной диагонали.