Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Уровень С



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

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

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 с.





Дата публикования: 2015-02-18; Прочитано: 485 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.097 с)...