Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 9 - Функции.doc
Скачиваний:
5
Добавлен:
11.09.2019
Размер:
227.84 Кб
Скачать

Int main()

{

//Определяем массив Mat

int Mat[MAX_ROW_COUNT][MAX_COL_COUNT];

//Определяем переменные для хранения количества строк и столбцов

// (начальных строк и начальных столбцов, которые реально используются

// для хранения элементов в массиве Mat)

int nr, nc;

//Переменные для хранения номера и количества нулей строки

//с максимальным количеством нулей

int rowIndex, nZeroes;

//Вводим размеры и элементы матрицы Mat

InputMatrix(Mat, nr, nc);

//Вызываем функцию определения строки с максимальным количеством нулей.

//Сохраняем результаты в переменные rowNum и nZeroes

rowIndex = RowIndexWithMaxZeroes(Mat, nr, nc, nZeroes);

//Выводим на экран какая строка содержит максимальное количество нулей.

cout << "Row " << rowIndex << " contains " << nZeroes << " zero(es)." << endl;

return 0;

}

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

  2. Дана действительная матрица размера nxm. Получить новую матрицу путем вычитания из каждого элемента данной матрицы ее наименьшего элемента.

  3. В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

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

  5. В данной действительной квадратной матрице порядка n найти произведение элементов столбца, в котором расположен элемент с наибольшим значением. Предполагается, что такой элемент единственный.

  6. В данной действительной квадратной матрице порядка n найти произведение элементов строки, в котором расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

  7. В данной действительной матрице размера nxm поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны.

  8. Характеристикой столбца матрицы назовем произведение элементов с четными номерами строк. Определить номер столбца с наибольшей характеристикой.

  9. Характеристикой строки целочисленной матрицы назовем сумму ее элементов c четными номерами столбцов. Определить номер строки с наименьшей характеристикой.

  10. В данной действительной матрице размера nxm поменять местами столбец, содержащий элемент с наибольшим значением, со столбцом, содержащим элемент с наименьшим значением. Предполагается, что эти элементы единственны.

  11. В данной действительной матрице размера nx2m поменять местами все четные и нечетные столбцы: 0-й столбец с 1-ым столбцом, 2-й с 3-им и т.п.

  12. В данной действительной матрице размера nxm поменять местами порядок столбцов на обратный, т.е. переставить местами 0-й и m-1-й столбец, 1-й и m-2-й столбец, 2-й и m-3-й и т.п.

  13. Дана действительная матрица A размера nxm. Найти все седловые элементы матрицы. Элемент матрицы aij называется седловым, если он является минимальным в i-й строке матрицы и максимальным в j-м столбце матрицы.

Задание 5 –­ Рекурсивная функция

Написать программу, содержащую рекурсивную функцию, осуществляющую решение задачи согласно варианту. Программа должна демонстрировать работу данной рекурсивной функции.

См. пример выше с последовательностью Фибоначчи.

Пример. Написать рекурсивную функцию для вычисления суммы элементов массива.

#include <iostream>

using namespace std;

//Рекурсивная функция для вычисления суммы элементов массива mas

//с индексами от i до size - 1

int sum(int mas[], int size, int i)

{

//Когда достигли последнего элемента массива, в

//качестве суммы элементов массива

//с индексами от size-1 до size-1

//возращаем сам элемент mas[size-1].

//Это условие начала рекурсивного возврата

if (i == size - 1)

return mas[i];

//Сумма элементов массива с индексами от i до size - 1

//может быть определена как сумма элемента mas[i] и

//результата вычисления суммы элементов с индексами от i + 1 до size - 1

return mas[i] + sum(mas, size, i + 1);

}