ЛАБОРАТОРНАЯ РАБОТА 2 Использование функций при работе с двумерными массивами Цель работы- получение
Работа добавлена на сайт samzan.net:
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
ЛАБОРАТОРНАЯ РАБОТА №2
Использование функций при работе с двумерными массивами
Цель работы: получение навыков работы с процедурами и двумерными массивами.
Задания для подготовки к работе
- Изучить способы описания и использования многомерных массивов; назначение функций, их описание и обращение к функциям.
- Разбить задачу соответствующего варианта на подзадачи, таким образом, чтобы решение каждой подзадачи описывалось функцией, а основная программа состояла бы из последовательности вызовов функций.
- Подобрать наборы тестовых данных.
Содержание отчета
- Описание используемых структур данных.
- Описание подпрограмм, содержащее для каждой подпрограммы: а) заголовок, в) спецификацию, с) схему алгоритма.
- Схема алгоритма основной задачи.
- Наборы тестовых данных с обоснованием их выбора.
- Текст программы.
- Описание и анализ ошибок, выявленных при отладке программы.
Задание к работе
Набрать программу, отладить ее, протестировать. Распечатать текст программы и результаты ее работы на тестовых данных.
Для всех вариантов: организовать ввод, обработку и вывод матриц в отдельных функциях. Для задания матриц рекомендуется использовать генератор случайных чисел. Для работы с массивами использовать указатели.
- Дана прямоугольная матрица [m x n]. Определить k количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца. Найти номер столбца с максимальной суммой всех элементов.
- Дана квадратная матрица. Найти среднее арифметическое минимального и максимального значений ее элементов, расположенных ниже главной диагонали.
- Дана вещественная квадратная матрица, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.
- Дана вещественная квадратная матрица. Найти среднее арифметическое элементов для каждого столбца и максимальный элемент лежащий на побочной диагонали.
- Дана прямоугольная матрица [m x n]. Упорядочить каждый второй столбец матрицы по убыванию элементов столбцов. Поменять местами первый и последние столбцы.
- Дана квадратная матрица. Найти сумму элементов, которые больше, чем максимум главной диагонали. Поменять местами элементы главной и побочной диагоналей.
- Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n-вводится с клавиатуры.
- Дана прямоугольная матрица [m x n]. Отсортировать строки, индекс которых кратен числу а (вводимому с клавиатуры), по убыванию. Для остальных найти среднее значение.
- Дана прямоугольная матрица [m x n]. Найти количество элементов, для которых верно условие aij>(i+j). Поменять местами строки k1 и k2. Значения k1 и k2 вводить с клавиатуры.
- Дана прямоугольная матрица [m x n]. Отсортировать по убыванию столбцы, номер которых не больше, чем вводимое с клавиатуры число а. Найти номер столбца с минимальной суммой всех элементов.
- Дана квадратная целочисленная матрица. Найти строку, на которой находится минимальный элемент. Заменить все элементы этой строки на произведение соответствующих элементов главной и побочной диагоналей.
- Дана квадратная матрица [n x n], где n - нечетное и n ≥ 5. Выполнить её транспонирование (развернуть матрицу на 90 градусов). Заменить в полученной матрице нулями такие элементы, чтобы полученная в результате матрица напоминала британский флаг (флаг Соединенного Королевства).
- Дана прямоугольная матрица [m x n]. Отсортировать отдельно каждую её строку, чередуя сортировку по возрастанию и убыванию (в любом порядке). Каждый элемент, меньший чем некоторое введенное с клавиатуры число, заменить произведение элемента и числа.
- Дана квадратная матрица. Пусть главная и побочная диагональ делит матрицу на четыре сектора. Переставить метами элементы между верхним и нижним сектором, а также между правым и левым. Обе диагонали обнулить.
- Дана прямоугольная вещественная матрица [m x n]. Обнулить все четные столбцы и нечетные строки. В полученной матрице отсортировать по возрастанию каждую строку, оставляя нули на своих местах.
- Дана квадратная целочисленная матрица [n x n], где n - нечетное и n ≥ 5, содержащая положительные и отрицательные числа. Если центральный элемент матрицы меньше, чем среднее арифметическое всех элементов матрицы, отсортировать всю матрицу по возрастанию, иначе - по убыванию.
- Дана прямоугольная вещественная матрица [m x n]. Каждый элемент, для которого сумма номера строки и столбца является четным числом, заменить на 0. Оставшиеся элементы отсортировать по убыванию (всю матрицу), оставляя нули на тех же местах (кроме тех, которые были в матрице изначально).
- Дана квадратная целочисленная несортированная матрица. Отсортировать в ней по убыванию только те элементы, которые являются большими, чем среднее арифметическое всех элементов матрицы, а оставшиеся элементы отсортировать по возрастанию.
- Дана квадратная целочисленная матрица. Зеркально отразить в ней элементы, находящиеся под главной диагональю, на ту часть матрицы, которая находится над главной диагональю. Элементы главной диагонали отсортировать по возрастанию.
- Дана квадратная целочисленная матрица. Найти столбец, на котором находится максимальный элемент. Заменить все элементы этого столбца на минимальный из соответствующих элементов главной и побочной диагоналей.
- Дана прямоугольная матрица. Найти максимальный из элементов на главной диагонали. Поменять местами с минимальным для столбца n, где n-вводится с клавиатуры.
- Дана квадратная матрица. Отсортировать столбцы, индекс которых кратен числу а (вводимому с клавиатуры), по возрастанию. Для остальных найти среднее значение.
- Дана квадратная матрица. Найти среднее арифметическое минимального и максимального значений ее элементов, расположенных выше побочной диагонали.
- Дана квадратная матрица. Отсортировать все её элементы по возрастанию, так, как если бы все строки матрицы составляли один одномерный массив.
- Дана квадратная матрица. Найти сумму элементов, которые больше, чем минимум главной диагонали. Найти номер столбца с максимальной суммой всех элементов.
Дополнительная информация
Генерация случайный чисел в интервале [A; B] на ЯП С/С++ может быть реализована, к примеру, следующим образом:
#include <stdlib.h>
...
int var = A + rand() % (B A + 1);
Генератор случайных чисел при выполнении лабораторной работы также рекомендуется оформить как отдельную функцию.
Контрольные вопросы
- Виды функция на ЯП С/С++
- Определение, прототип, вызов функции на ЯП С/С++
- Фактические и формальные параметры
- Понятие локальных и глобальных переменных
- Рекурсивные функции