Для определения соотношения между индексами одномерного и двумерного массивов следует иметь в виду, что длина пересылаемой части строки зависит от номера строки т. е. элемент A[0][ J] пересылается в (I*L+J)-ый элемент одномерного массива.
Для второй части задачи решение аналогично, но цикл по J организуется в пределах от 0 до I—1 и длина пересылаемой части строки на 1 меньше.
4. См. указание к задаче 3.
5. См. указание к задаче 3.
Верхний и нижний треугольники заполнять в одном цикле, помещая один и тот же элемент одномерного массива в два расположенных симметрично относительно диагонали элемента матрицы. Диагональ матрицы заполнить в отдельном цикле.
6. Диагональ переслать а одномерный массив. Найти максимальный элемент и его индекс М. Далее переставить M-ю строку со строкой с заданным номером.
7. См. указание к задаче 6.
8. К-й столбец переслать в одномерный массив. Найти в этом массиве номер элемента, являющегося максимальным по модулю. Если максимальным по модулю является К-й элемент, перестановку не выполнять.
9. См. указание к задаче 8.
10. Найти положение максимального по модулю элемента матрицы и выполнить последовательно перестановку строк и перестановку столбцов.
11. Необходимо организовать цикл по номеру столбца и при каждом его прохождении обращать в 0 элементы, расположенные ниже главной диагонали (см, указание к задаче 14 уровня II).
Чтобы исключить возможность деления на 0 и повысить точность вычислений перед преобразованием очередного J-гo столбца, нужно найти максимальный по модулю элемент в J-м столбце и перевести его на главную диагональ соответствующей перестановкой строк.
12. Необходимо организовать цикл по номеру строки и при каждом его прохождении обращать в 0 элементы, расположенные правее главной диагонали (см. указание к задаче 15 уровня II). Перед преобразованием очередной 1-й строки нужно найти максимальный по модулю элемент в этой строке и соответствующей перестановкой столбцов перевести его на главную диагональ.
13. Сначала заполнить нулями нижний треугольник матрицы (см. указание к задаче 11), затем верхний (см. указание к задаче 12).
14. Перед выполнением умножения проверить соответствие умножаемых матриц друг другу по размеру. Если число столбцов первой матрицы не равно числу строк второй, умножение не выполнять.
15. Для выполнения преобразования найти максимальный amax и минимальный amin элементы в массиве. Далее, каждый элемент преобразовать по формуле
ai= ai K+ P;
где K, P — параметры преобразования — вычисляются из соотношений
amax K+Р=1,
amin K +P = -1.
Вопросы для самопроверки.
1. Что такое массив? Как осуществляется доступ к элементам массива? Какова нумерация индексов массива в С?
2. Для чего нужно описывать массивы? Как осуществляется описание массивов?
3. Как осуществить ввод вектора, матрицы: а) по строкам; б) по столбцам?
4. Как организовать ввод двух массивов одинакового размера; разных размеров?
5) Как организовать вывод вектора: а) в строку; б) в столбец; матрицы — по строкам?
6. Как вывести два вектора одинакового размера в два параллельных столбца?
7. Типовые алгоритмы обработки массивов: суммирование элементов: а) вектора; б) матрицы; вычисление следа матрицы (суммирование диагональных элементов).
8. Алгоритм суммирования: а) векторов; б) матриц.
9. Алгоритм транспонирования матрицы с получением результата: а) в другом массиве; б) в том же массиве.
10. Алгоритм умножения: а) матрицы на матрицу; 6} матрицы на вектор.
11. Алгоритм удаления; а) элемента из вектора; б) строки из матрицы.
12. Алгоритм включения элемента: а) в заданную позицию вектора; б) в упорядоченный массив с сохранением упорядоченности.
13. Как поменять местами: а) элементы в векторе; б) строки в матрице?
14. Алгоритм поиска минимального (максимального) элемента массива: а) вектора; б) матрицы.
15. Алгоритм преобразования: а) матрицы в вектор; б) вектора в матрицу.
16. В чем особенности организации программ для обработки массивов произвольных размеров?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.