Код программы с комментариями.




Лабораторная работа 6.

Работа с двумерными массивами: решение двух задач базового цикла за один проход в матрице

 

 

Дана матрица А, состоящая из n строк и n столбцов (Аij – это элемент, стоящий на пересечении i-й строки и j-го столбца) или одномерные массивы из n элементов каждый. Составить алгоритм и программу для получения и вывода, указанных в условии результатов и самих массивов, если изменялись какие-либо их элементы.

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

 

Спецификация содержит:

Формулировка исходной задачи.

Уточненная постановка задачи.

Таблица данных.

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

5. Функциональные тесты (с просчитанными решениями) минимально возможные:

a. любая матрица и массив с различными элементами, подходящими для нормального решения задачи. При этом выбрать небольшой n, например, n=5, для упрощения вычислений вручную;

b. критические, но допустимые данные, например, n=2, а начальные значения элементов матрицы и массива = 0 (-1, если 0 недопустим в вашей задаче).

Код программы с комментариями.

 

1. Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали.
2. Найти среднее арифметическое неотрицательных элементов матрицы, а также подсчитать, сколько таких элементов в каждой отдельно взятой строке матрицы.
3. Получить массив X1,X2,...,Xn по правилу: Xi=1, если сумма элементов i-го столбца матрицы больше их произведения, иначе Xi=0. Найти среднее арифметическое всех элементов матрицы.
4. Назовем инверсией в строке ситуацию Aij>Aij+1 (в отличие от ситуации Aij£Aij+1). Получить массив C1,C2,...,Cn по правилу: Ci=1, если в i-й строке более двух инверсий, иначе Ci=0. Подсчитать общее число инверсий в строках.
5. Получить массив C1,C2,...,Cn по правилу: Ci=1, если все n произведений вида AjiAij (j=1,2,...,n) положительны, иначе Ci=0. Найти сумму элементов матрицы.
6. Задан массив C1,C2,...,Cn. Рассматривая их по очереди, выводить элемент Ci, если он больше любого из элементов i-й строки матрицы. Найти также сумму элементов матрицы.
7. Получить массив X1,X2,...,Xn по правилу: Xi=1, если элемент Aii больше каждого из элементов i-й строки матрицы, иначе Xi=0. Найти также сумму элементов матрицы.
8. Получить массив X1,X2,...,Xn по правилу: Xi=1, если для всех j=1,2,...,n выполняется неравенство Aji≤ Aij, иначе Xi=0. Найти сумму элементов матрицы.
9. Изменить матрицу, прибавляя к каждому отрицательному элементу значение предыдущего элемента той же строки. Если отрицателен первый элемент строки, прибавить к нему значение последнего элемента строки. Подсчитать число строк, в которых не было замен элементов.
10. Изменить часть матрицы, находящуюся под главной диагональю, следующим образом: если элемент Aij больше элемента Aji, задать элементу Aij новое значение - значение полу суммы данных двух элементов. Найти сумму элементов главной диагонали.
11. Изменить все строки матрицы, в которых отрицателен элемент главной диагонали: к каждому элементу i-й строки прибавляется элемент Ti из заданного массива T1,T2,...,Tn. Подсчитать число измененных строк матрицы.
12. Получить массив X1,X2,...,Xn и найти произведение элементов матрицы; элемент Xi представляет среднее арифметическое положительных элементов в i-й строке матрицы, или равен 0, если положительных элементов в ней не обнаружено.
13. Дан массив C1,C2,...,Cn. Изменить матрицу, увеличив каждый элемент, который меньше элемента главной диагонали, находящегося с ним в одной строке, на Ci, где i - номер строки. Подсчитать общее число измененных элементов.
14. Найти по отдельности число положительных и равных нулю элементов в совокупности тех строк матрицы, i‑й элемент которых больше 1, а также найти общую сумму элементов этих строк.
15. Найти общую сумму элементов тех столбцов матрицы, сумма элементов в каждом из которых положительна, и сумму элементов главной диагонали.
16. Получить массив C1,C2,...,Cn по правилу: Ci=0, если все элементы i-го столбца матрицы равны 0, иначе Ci=1. Найти также сумму всех элементов матрицы.
17. Изменить матрицу путем замены каждого отрицательного элемента 2-го,3-го,...,n-го столбцов абсолютной величиной суммы предшествующих ему элементов той строки, в которой он находится. Найти также среднее арифметическое всех элементов матрицы.
18. Получить массив X1,X2,...,Xn по правилу: Xi=0, если все элементы i-го столбца и i-й строки матрицы меньше 1, иначе Xi=1. Найти также произведение всех элементов матрицы.
19. Изменить матрицу, заменив каждый отрицательный элемент, лежащий выше главной диагонали, его абсолютной величиной. Найти также сумму элементов главной диагонали.
20. Известно, что в матрицы элемент последнего столбца может иметь лишь значения 0 и 1. Найти среднее арифметическое общей совокупности элементов тех строк, последний элемент которых равен 1.
21. Задан массив X1,X2,...,Xn. Получить массив C1, C2,..., Cn по правилу:
22. Задан массив C1,C2,...,Cn. Нужно изменить все столбцы матрицы, в которых равен 0 элемент главной диагонали: i-й элемент такого столбца (i=1,2,...,n) увеличивается на Ci. Найти также сумму элементов главной диагонали.
23. Найти среднее арифметическое отрицательных элементов матрицы, лежащих ниже главной диагонали, и среднее арифметическое всех элементов главной диагонали.
24. Заменить в матрице на 1 каждый положительный элемент, на 0 - каждый отрицательный. Для каждого столбца найти среднее арифметическое исходных значений элементов.
25. Найти сумму элементов матрицы и подсчитать число ее строк, в пределах каждой из которых элементы упорядочены по возрастанию: Ai1<Ai2<...<Ain.
26. Задан массив X1,X2,...,Xn. Получить массив C1,C2,...,Cn по правилу Ci=Xi, если любое из произведений (k=1, 2,...,n) меньше Xi, иначе Ci=0. Найти также произведение всех элементов матрицы.
27. Получить массив X1,X2,...,Xn по правилу: Xi=1, если каждый элемент i-го столбца, кроме первого и последнего элементов, меньше полу суммы двух соседних элементов (пре­дыдущего и последующего), иначе Xi=0.
28. Получить массив X1,X2,...,Xn по правилу: Xi=1, если в i-м столбце матрицы есть хотя бы один элемент, превышающий заданное значение C, иначе Xi=0. Найти также общее число элементов, которые больше C.
29. Найти среднее арифметическое тех элементов матрицы, каждый из которых больше находящегося с ним в одной строке элемента главной диагонали, и сумму элементов главной диагонали.
30. Найти среднее арифметическое элементов Aij, лежащих выше и ниже главной диагонали матрицы, для которых выполняется условие Aii<Aij<Ajj. Найти сумму элементов каждого столбца.
31. Найти произведение элементов матрицы и подсчитать число ее строк, в пределах каждой из которых элементы упорядочены по невозрастанию: Ai1 ≥ Ai2 ≥... ≥ Ain.
32. Получить массив X1,X2,...,Xn и найти произведение отрицательных элементов матрицы; элемент Xi представляет среднее арифметическое положительных элементов в j-м столбце матрицы, или равен 0, если положительных элементов в столбце не обнаружено.
33. Найти среднее геометрическое тех элементов матрицы, каждый из которых больше находящегося с ним в одной строке элемента главной диагонали, и сумму абсолютных значений элементов главной диагонали.
34. Изменить матрицу, вычитая из каждого положительного элемента значение предыдущего элемента той же строки. Если положителен первый элемент строки, вычесть из него значение последнего элемента строки. Подсчитать число строк, в которых были изменены элементы.
35. Найти по отдельности число отрицательных и равных нулю элементов в совокупности тех столбцов матрицы, j‑й элемент которых меньше 1, а также найти общее произведение элементов этих столбцов.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-12-05 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: