Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР15-С++24-мая-2012.doc
Скачиваний:
23
Добавлен:
23.09.2019
Размер:
1.07 Mб
Скачать

2.4.4.1. Варианты заданий

Таблица 15.4

Задание

1

Добавить строку с заданным номером

2

Добавить столбец с заданным номером

3

Добавить строку в конец матрицы

4

Добавить столбец в конец матрицы

5

Добавить строку в начало матрицы

6

Добавить столбец в начало матрицы

7

Добавить К строк в конец матрицы

8

Добавить К столбцов в конец матрицы

9

Добавить К строк в начало матрицы

10

Добавить К столбцов в начало матрицы

11

Удалить строку с номером К

12

Удалить столбец с номером К

13

Удалить строки, начиная со строки К1 и до строки К2

14

Удалить столбцы, начиная со столбца К1 и до столбца К2

15

Удалить все четные строки

16

Удалить все четные столбцы

17

Удалить все строки, в которых есть хотя бы один нулевой элемент

18

Удалить все столбцы, в которых есть хотя бы один нулевой элемент

19

Удалить строку, в которой находится наибольший элемент матрицы

20

Добавить строки после каждой четной строки матрицы

21

Добавить столбцы после каждого четного столбца матрицы

22

Добавить К строк, начиная со строки с номером N

23

Добавить К столбцов, начиная со столбца с номером N

24

Добавить строку после строки, содержащей наибольший элемент

25

Добавить столбец после столбца, содержащего наибольший элемент

26

Удалить К первых строк.

27

Удалить К последних строк.

28

Удалить одинаковые строки.

29

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

30

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

2.4.4.2. Пример для варианта 30

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

2.4.4.3. Программа

2.4.4.4. Тестирование

2.4.5. Задание 5. Динамические двумерные массивы

Общая постановка. Составить программы на двухмерные массивы: задания 26-50. Массивы создаются в динамической области памяти с использованием операций NEW и DELETE. Ввод исходных данных: реальный размер массивов и их значения. Обращение к элементам массива – через косвенную адресацию.

2.4.5.1. Варианты заданий

Таблица 15.5

Задание

1

31. Дан массив A(n,n). Написать программу его поворота на 900 относительно его центра. На печать вывести исходный и повернутый массивы.

2

32. Дан массив A(n,n). Написать программу его поворота на 1800 относительно его центра. На печать вывести исходный и повернутый массивы.

3

33. Дан массив A(n,n). Написать программу его поворота на 2700 относительно его центра. На печать вывести исходный и повернутый массивы.

4

34. Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше главной диагонали.

5

35. Дан массив A(n,n). Найти сумму всех его элементов, расположенных ниже главной диагонали.

6

36. Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной.

7

37. Дан  массив A(n,n). Найти сумму всех его элементов, расположенных ниже диагонали, противоположной главной.

8

38. Задана матрица А(n,n). Найти суммы и произведения элементов, стоящих на главной и противоположной (побочной) диагоналях.

9

39. Задана матрица А(n,n), состоящая из нулей и единиц. Подсчитать количество нулей и единиц в этой матрице.

10

40. Задана матрица А(n,n). Переставить местами к-ю и i-ю строки, а эатем l-й и j-й столбцы.

11

41. Задан массив действительных чисел А(n). Необходимо каждый элемент массива разделить на среднее арифметическое этих элементов. На печать вывести исх. и преобразов. массивы.

12

42. Задан массив А(n). Получить массив В(к), состоящий из элементов массива А, которые делятся на 3. Подсчитать количество элементов массива В.

13

43. Задана матрица А(n,n). Получить матрицу В=А^2.Элемент b[I][j] определяется как сумма от поэлементного произведения I-й строки на j-й столбец матрицы А.

14

44. Вычислить первую норму матрицы А(n,n) , определяемую как , т.е. максимальная сумма из сумм элементов по столбцам

15

45. Вычислить вторую норму матрицы А(n,n), определяемую как максимальная сумма из сумм элементов по строкам .

16

46. Задан двухмерный массив целых чисел A размером N на M. Найти сумму элементов, расположенных на главной диагонали.

17

47. Задан двухмерный массив целых чисел A размером N на M. Найти произведение элементов, расположенных на главной диагонали.

18

48. Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с элементом A[1,1].

19

49. Задан двухмерный массив целых чисел A размером N на M. Найти минимальный элемент и поменять его с элементом A[1,1].

20

50. Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним.

21

26.Дан массив А(n,n).Найти число элементов массива a(i,j)>t и просуммировать все эти элементы.

22

27.Дан одномерный массив А(n).Сформировать массив B(k),состоящий из a(i) > t. На печать вывести исходный массив, сформированный массив и его размерность.

23

28.Дан массив A(n,n). Вычислить сумму всех неотрицательных элементов, а также их количество.

24

29. Дан массив A(n,n). Вычислить сумму всех отрицательных его элементов и их количество.

25

30. Дан массив A(n,n). Сформировать вектор В(к) из a(i,j) < 0. На  печать вывести исходный массив, полученный вектор и его размерность.

26

27

28

29

30

 

2.4.5.2. Пример для варианта 30

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

2.4.5.3. Программа

2.4.5.4. Тестирование

3. ВЫВОДЫ

Выполнение этой лабораторной работы должно показать Вам средства языка C++, необходимые программисту для реализации программ, использующих указатели данных.

Выполнив данную лабораторную работу вы должны освоить следующие основные концепции:

1. Указатели содержат адрес памяти. Когда вы передаете в функцию массив, C++ передает адрес первого элемента массива.

2. Увеличивая значение указателя, вы можете адресовать с его помощью следующий элемент массива.

3. Функции, которые манипулируют строками с помощью указателей, обычно сканируют строку до того момента, пока не найден символ NULL.

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

5. При использовании указателей с массивами других типов C++ автоматически (за кулисами) увеличивает указатель (адрес памяти) на требуемую величину таким образом, чтобы данный указатель указывал на следующий элемент массива.

Ваше умение понимать указатели и работать с ними облегчит использование объектно-ориентированных классов C++ в 3-ей части изучаемого курса.

Во время выполнения этой и других работ Вы познакомитесь с другими возможностями языка С++ и выберете для себя некоторый стиль написания программ на языке С++.

Чем активнее Вы будете овладевать возможностями системы программирования на языке С++, тем более легким и эффективным будет для Вас выполнение всего лабораторного практикума.