Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тексты индивидуальных задач, выполняемых в лабораторной работе




Задача 6.01

Составить программу, которая получает матрицу А размером m*n. Если в матрице нет строк, содержащих только отрицательные элементы, то формируется новая матрица, в которую на место отрицательных элементов исходной матрицы записываются нули, а на место положительных единицы.

Задача 6.02

Составить программу, которая получает матрицу Х размером m*n и находит минимальный и максимальный элементы матрицы. Если эти элементы находятся под главной диагональю, то формируется новая матрица, из которой удалены строки и столбцы, на пересечении которых они находятся.

 

Задача 6.03

Составить программу, которая получает матрицу Х размером m*n и матрицу Y размером m*n. Программа формирует матрицу Z размером m*n, где элемент (i,j) матрицы Z равен сумме элементов i- й строки матрицы X, которые отсутствуют в j –м столбце матрицы Y.

Задача 6.04

Составить программу, которая получает матрицу В размером m *n и два числа i<m и j<m. Если матрица в каждой четной строке имеет положительную сумму элементов, то программа формирует новую матрицу, меняя местами элементы строки с номером i на элементы строки с номером j исходной матрицы В.

Задача 6.05

Составить программу, которая получает матрицу А размером m*n. Если в исходной матрице есть, по крайней мере, одна строка, сумма элементов которой отрицательна, то формируется новая матрица из исходной так, что строки в ней расположены в порядке возрастания сумм элементов этих строк.

 

Задача 6.06

Составить программу, которая получает матрицу Х размером n*n. Если в матрице есть по одному положительному, отрицательному и нулевому элементу, то определяется количество этих положительных, нулевых и отрицательных элементов в каждом столбце матрицы X. Из этих чисел формируется новая матрица, размером 3*n (строка информации о количестве нулей, строка о количестве отрицательных элементов, строка информации о количестве положительных элементов).

 

Задача 6.07

Составить программу, которая получает матрицу А размером m *n и два числа a и b, таких, что a<b. Если сумма элементов матрицы, находящихся под ее главной диагональю меньше суммы ее элементов, находящихся над ней, то программа формирует новую матрицу, путем удаления из исходной матрицы тех строк, которые не содержат элементов, отвечающих условию

Задача 6.08

Составить программу, которая получает матрицу Х размером m *n и, если в исходной матрице оказались равные между собой строки или столбцы, то программа формирует новую матрицу, удалив из исходной матрицы те строки или столбцы, которые оказались равными между собой.

 

Задача 6.09

Составить программу, которая получает матрицу Х размером m*n и если сумма элементов матрицы оказалась отрицательным числом, то программа формирует новую матрицу, получив ее из исходной перестановкой строк: первой с последней, второй с предпоследней и т.д.

 

 

Задача 6.10

Составить программу, которая получает матрицу А размером m*n и, если среднеарифметическое число всех положительных элементов матрицы по модулю меньше среднеарифметического числа ее отрицательных элементов, то программа формирует новую матрицу, все строки которой упорядочены по возрастанию.

 

Задача 6.11

Составить программу, которая получает матрицу C размером m *n. Программа находит наибольший элемент матрицы С в секторе над главной диагональю и наибольший элемент под ее главной диагональю. Если два найденных числа оказываются равны, то программа формирует новую матрицу, разделив все элементы исходной матрицы (кроме найденных наибольших) на найденное значение максимального.

 

Задача 6.12

Составить программу, которая получает матрицу целых чисел Х размером n *n и массив целых, размером n. Если в матрице нет строк, равных массиву целых чисел, то программа формирует новую матрицу, заменив диагональ исходной на массив целых.

Задача 6.13

Составить программу, которая получает матрицу А размером m *n и формирует из нее матрицу В, поменяв местами строки и столбцы.

Для каждой из матриц А и В программа вычисляет числа

, где количество m строк, количество n столбцов

и выдает сообщение об их равенстве или неравенстве.

 

Задача 6. 14

Составить программу, которая получает матрицу Х размером m*n и вектор A, размером к. Если сумма элементов вектора А больше суммы элементов главной диагонали матрицы, то программа формирует новую матрицу, в которую включены только те строки, которые содержат хотя бы одно число из вектора А.

 

Задача 6. 15

Составить программу, которая получает матрицу Х размером m*n и вектор А, размером m. Каждому элементу вектора поставлена в соответствие строка с тем же номером. Если вектор А не упорядочен в порядке возрастания его элементов, то программа сортирует вектор А в порядке возрастания его элементов и формирует новую матрицу, расположив строки исходной матрицы в том же порядке, что и элементы вектора после сортировки.

 

Задача 6.16

Составить программу, которая получает матрицу В размером m*n и, если на ее диагонали стоят только положительные числа, то программа формирует новую матрицу, включив в нее только те строки, элементы которых не образуют арифметической прогрессии. Если таких строк не найдено, то новая матрица не формируется.

 

Задача 6.17

Составить программу, которая получает матрицу А размером m*n. Если в матрице есть хотя бы одна строка, элементы которой все отрицательны, то программа формирует новую матрицу по следующему правилу. Программа ищет в каждой строке максимальный элемент и в новой матрице ставит его в начало строки, а минимальный элемент ставит в конце строки, все остальные элементы исходной строки переписывает в строку новой матрицы в обратном порядке.

Задача 6. 18

Составить программу, которая получает матрицу В размером m*n. Если наибольший по модулю элемент находится над главной диагональю матрицы, то программа формирует новую матрицу, удалив из исходной столбец и строку, на пересечении которых находится наибольший по модулю элемент.

 

Задача 6.

 
 

19

Составить программу, которая получает матрицу В размером m*n, и если транспонированная матрица В равна исходной матрице, т.е. выполняется

 

где В - исходная матрица, Т означает транспонирование, то программа создает новую матрицу, заменив в секторе над главной диагональю все элементы исходной матрицы на частное от деления суммы индексов элементов на значение самого элемента.

Задача 6.20

Составить программу, которая получает матрицу А размером m *n. Если среднеарифметическое элементов матрицы А меньше 0, то программа формирует матрицу В, получаемую из исходной А перестановкой в каждой строке наименьшего по абсолютной величине элемента с ее диагональным.

Задача 6.21

Составить программу, которая получает матрицу А размером m*n. Если элементы в каждой строке матрицы расположены в порядке не убывания, то программа создает новую матрицу, удалив из каждого столбца матрицы А его минимальный и максимальные элементы.

Задача 6.22

Составить программу, которая, получив матрицу, размером m*n. Если в матрице все элементы имеют только значения 0 и 1, то программа создает новую матрицу из исходной матрицы, в которой строки, в которых чередуются 0 и 1, переставляют в верхнюю часть матрицы, а порядок остальных строк не изменяется.

 

Задача 6.23

Составить программу, которая получает матрицу Х размером m*n и вектор A, размером m. Если в векторе А есть как положительные, так и отрицательные элементы, то программа создает новую матрицу. Строку с номером i назовем отмеченной, если соответствующий i элемент вектора A больше 0, и неотмеченной – в противном случае. Программа формирует новую матрицу по следующему правилу: все отрицательные элементы в отмеченных строках исходной матрицы в формируемой матрице программа заменяет отрицательной единицей, положительные заменяет положительной единицей, а нулевые остаются без изменений. Не отмеченные строки исходной матрицы копируются в новую матрицу в обратном порядке.

 

Задача 6.24

Составить программу, которая получает матрицу Х размером m*n и вектор А, размером k. Если все элементы вектора А положительны, то программа формирует новую матрицу, в которой элементы исходной матрицы, которые совпали с одним из элементов вектора А, заменяются 0. В новой матрице подсчитывается количество строк и столбцов, все элементы которых оказались равны 0.

Задача 6.25

Составить программу, которая получает матрицу Х размером mx*nx и матрицу Y размером my*ny. Если обе матрицы квадратные и одного размера, то программа из двух исходных квадратных матриц Х и Y формирует результирующую матрицу Z путем суммирования каждого элемента каждого столбца матрицы А с произведением соответствующей строки матрицы В.

 

Задача 6.26

Составить программу, которая получает матрицу Х размером m*n и целое число К. Если в матрице есть одна единичная строка, то программа формирует новую матрицу, осуществив циклический сдвиг всех строк исходной матрицы вверх К раз относительно этой единичной строки.

 

Задача 6.27

Составить программу, которая получает матрицу целых чисел А, размером m*n. Если в исходной матрице все минимальные элементы нечетных строк сами нечетные, то программа создает новую матрицу. В новой матрице наибольший элемент каждой строки меняется местами с наименьшим элементом этой же строки.

Задача 6.28

Составить программу, которая получает матрицу, размером m*n. Если в матрице все элементы имеют целое значение, то программасоздает новую матрицу размером 2*2 из строки с наибольшей суммой элементов и наименьшей суммой, и строки с наибольшим произведением элементов и наименьшим.

 

Задача 6.29

Составить программу, которая получает матрицу А размером m*n. Если в матрице есть как положительные, так и отрицательные элементы, то из положительных элементов матрицы A программа формирует матрицу B, размером m*r. Количество элементов r в строке матрицы B определяется как максимальное число положительных элементов среди всех строк матрицы A. В каждой строке матрицы B расположены подряд положительные элементы соответствующей строки матрицы A. На место недостающих положительных значений в матрице В программа дописывает нули.

 

Задача 6.30

Составить программу, которая получает матрицу А размером m*n. Если в матрице есть хотя бы один единичный столбец, то программа формирует новую матрицу, транспонированную относительно исходной матрицы (меняет местами строки и столбцы).

Задача 6. 31

Составить программу, которая получает матрицу Х размером m*n и число К. Если программа находит число К среди элементов исходной матрицы, то она удаляет из исходной матрицы столбцы с элементом, равным К, в противном случае программа формирует новую матрицу, записав в нее только четные строки.

 

Задача 6.32

Составить программу, которая получает матрицу Х размером m*n и если в исходной матрице есть строка и столбец, все элементы которых равны 0, то программа уплотняет исходную матрицу влево и вверх и формирует на ее основе новую матрицу, поменяв местами строки и столбцы.

 

Задача 6.33

Составить программу, которая получает матрицу А размером m*n. Если в матрице есть строки, которые образуют монотонную последовательность чисел, то программа формирует из этих строк новую матрицу.

 

ЛАБОРАТОРНАЯ РАБОТА № 7

СТРОКИ В ЯЗЫКЕ С++

Цель работы: Составление алгоритмов и написание многомодульных программ циклической структуры обработки строк в среде СИ++.

 

Общие указания к заданиям лабораторной работы.

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

Для решения задачи разработайте следующие функции:

· индивидуальные функции, определенные в Вашем варианте.

Указанные в индивидуальном задании функции разработать двумя способами:

Способ 1. Доступ к нужному символу в строке (движение по строке) осуществлять путем изменения смещения (индекса) относительно неизменяемого начального адреса строки;

Способ 2. Доступ к нужному символу в строке (движение по строке) осуществлять путем изменения значения указателя (адреса) этого символа.

Функции при необходимости могут (или должны) быть разделены на ряд составляющих функций;

· для функций, которые попросили создать в двух вариантах, разработать функцию тестирования. В этой функции-тесте предусмотреть возможность сравнения на экране результатов двух реализаций (вариантов 1, 2). Тестирующая функция должна продемонстрировать правильность и идентичность работы алгоритмов для двух способов реализации Ваших индивидуальных функций. Данные-строки, на которых осуществляется тестирование, задать в самом тексте тестирующей функции в виде строковых констант (Они не должны вводиться с клавиатуры!). Набор данных-констант, на которых тестируются функции должен охватывать все возможные пограничные случаи возможных представлений данных.

· функцию без параметров, решающую конкретную задачу Вашего варианта с использованием разработанных Вами индивидуальных функций в реализации способа 2 для произвольных, вводимых с клавиатуры данных. Необходимо уметь объяснять преподавателю, почему для строк предпочтительнее этот способ обработки, почему при обработке числовых массивов такой способ его обработки не был так актуален.

Функция main должна содержать:

ü меню, которое позволяет сделать выбор режима работы с программой – режима тестирования или режима применения разработанной функции для решения конкретной задачи. Для организации меню использовать инструкцию выбора switch;

ü возможность многократного выполнения программы.

Функции сгруппируйте в файлы и создайте проект. Откомпилируйте отдельные файлы проекта и выполните его.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 698; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.046 сек.