Обработка матрицы по столбцам.

10 — 17. Это же, что и для каждой строки (см. 1 — 5, 7 — 9), выполнить не для строк, а для столбцов матрицы. Например, вместо 1 в 10 для каждого столбца матрицы найти среднее значение среди положительных чисел и среднее значение среди отрицательных элементов и построить два одномерных массива, размерности которых соответствуют количеству столбцов матрицы. Вместо 8 в 16 из матрицы удалить все нулевые столбцы, т. е. столбцы, состоящие из одних нулей.

Обработка всей матрицы.

В задачах 18 — 20 разработать функцию для работы с одномерным массивом и использовать её для всей матрицы.

18. Это же, что и для каждой строки (см. 1), т. е. найти одно или два числа для всей матрицы в целом.

19. Даны матрицы A и B одинаковой размерности. Вычислить

обработка матрицы по столбцам. - student2.ru ¾ наименьшее среди положительных чисел матрицы.

20. Числа заданной матрицы, принадлежащие отрезку [a, b], увеличить в 100 раз, остальные уменьшить в 2 раза. Измененную матрицу оставить на том же месте.

21. Транспонировать квадратную матрицу, оставив новую на том же месте.

22. Умножить две матрицы, проверив согласованность их размерностей.

Обработка части матрицы.

23. Составить и использовать две логические функции со значением true (1) или false (0) для определения, является ли одно число простым и есть ли в двоичном представлении одного числа нуль. Входным параметром такой функции является одно число без индексов. Дана квадратная целочисленная матрица. Найти количество простых чисел и количество чисел, у которых в двоичной записи нет нулей:

1) — 2) на главной (побочной) диагонали;

3) в левом нижнем треугольнике относительно главной диагонали;

4) в правом нижнем треугольнике относительно побочной диагонали;

5) в верхнем треугольнике относительно главной диагонали;

6) в правом треугольнике относительно побочной диагонали.

Построение матриц.

24. Даны два одномерных массива a и b одинаковой размерности. Построить квадратную матрицу С такой же размерности, каждый элемент которой определяется по формуле обработка матрицы по столбцам. - student2.ru

25. Даны две матрицы A и B одинаковой размерности. Построить матрицу С, каждый элемент которой определяетсяпо правилу: обработка матрицы по столбцам. - student2.ru

26. Дан одномерный массив b размерности m. Построить матрицу

обработка матрицы по столбцам. - student2.ru .

Уровень С

Преобразование матриц, сортировка.

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

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

2. В квадратной матрице поменять местами строку и столбец, на пересечении которых находится наибольший элемент всей матрицы. Если наибольших чисел несколько, то переставить строку с наименьшим индексом со столбцом с наибольшим индексом.

3. Из матрицы “удалить” строку и столбец, на пересечении которых находится наибольший элемент всей матрицы, “подтянув” элементы матрицы к левому верхнему углу. Элементам последней строки и последнего столбца присвоить нулевое значение.

4. Рассортировать строки целочисленной матрицы по следующему параметру строки:

1) количеству четных чисел в строке;

2) количеству чисел, у которых первая слева цифра четная;

3) наибольшей сумме цифр чисел строки;

4) сумме наибольших цифр чисел строки;

5) наибольшему элементу строки.

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

Матрицы специального вида.

6. Квадратная матрица A[n][n] называется симметричной относительно главной диагонали, если Aij=Aji для i<j. Записать такую матрицу в одномерный массив размерности n∙(n+1)/2, сохранив в нем элементы главной диагонали и расположенные выше ее. Вывести такой одномерный массив в виде симметричной матрицы.

7. Решить такую же задачу (см. 6), если матрица симметрична относительно побочной диагонали.

Указание к задачам 8 — 19. Симметричную относительно главной или побочной диагонали квадратную матрицу A[n][n] хранить в виде одномерного массива размерности n∙(n+1)/2, поместив в него элементы одного треугольника и диагонали.

8 — 9. Найти произведение вектора на симметричную относительно главной (побочной) диагонали матрицу.

10 —11. Найти произведение симметричной относительно главной (побочной) диагонали матрицы на вектор.

12 — 13. Найти сумму двух матриц, первая из которых симметрична относительно главной (побочной) диагонали.

14 — 15. Найти произведение двух матриц, первая из которых симметрична относительно главной (побочной) диагонали.

16 —17. Найти сумму двух матриц, симметричных относительно главной (побочной) диагонали.

18 — 19. Найти произведение двух матриц, симметричных относительно главной (побочной) диагонали.

20 — 21. Дана треугольнаяматрица, т. е. такая квадратная матрица, в которой все элементы выше главной (побочной) диагонали, имеют одинаковые значения, например, нуль. Записать такую матрицу в одномерный массив размерности n∙(n+1)/2, где n — количество строк и столбцов матрицы, сохранив в нем только элементы, расположенные ниже главной (побочной) диагонали. Вывести такой одномерный массив в виде матрицы, выводя и одинаковые (например, нулевые) ее значения.

22 — 33. Решить задачи 8 — 19 для треугольной матрицы с нулевым вторым треугольником со следующим требованием. Треугольную относительно главной (побочной) диагонали квадратную матрицу A[n][n] хранить в виде одномерного массива размерности n∙(n+1)/2, поместив в него элементы одного ненулевого треугольника.


СПИСОК РЕКоМЕНДУЕМОЙ ЛИТЕРАТУРЫ

Аленский, Н. А. Основы программирования на языке С++: учеб. пособие / Н. А. Аленский. — Минск: АПО, 2005. — 148 с.

Аленский, Н. А. Практическое руководство по языку C++: учеб. пособие / Н. А. Аленский. — Минск: АПО, 2007. — 276 с.

Крэйг, А. Освой самостоятельно Borland C++5 / А. Крэйг. — М. : Бином, 1997. — 719 с.

Дейтел, Х. М. Как программировать на С++ /Х. М. Дейтел, П. Дж Дейтел. — М. : Бином, 1998. — 1020 с.

Демидович, Е. Н. Основы алгоритмизации и программирования. Язык Си: пособие для студентов БГУИР / Е. Н. Демидович.— Минск, 2001. — 440 с.

Керниган Б. Язык программирования Си / Керниган Б. и др. — М. : Финансы и статистика, 1992.

Подбельский В. В. Программирование на языке Си / В. В. Подбельский, С. С. Фомин — М. : Финансы и статистика, 1999. — 600 с.

Подбельский В. В. Язык С++ : учеб. пособие / В. В. Подбельский. — М. : Финансы и статистика, 2000. — 560 с.

Шилдт, Г. Программирование на BORLAND C++ для профессионалов / Г. Шилдт. — Минск: ООО «Попурри», 1999. — 800 с.

Шилдт, Г. Самоучитель С++ / Г. Шилдт. — СПб. : БХВ, 2002. — 688 с.

Наши рекомендации