Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Инициализация такого массива может выглядеть так: int dvum [2][3] = {

{1, 2, 3}, {4, 5, 6}

};

Допустима более простая форма записи: int dvum [2][3]={1, 2, 3, 4, 5, 6};

Подчеркнем следующие особенности языка С++. Размер массива, а также индексы элементов записываются в квадратные скобки. В случае многомерного массива каждый индекс заключается в свои скобки. Нумерация индексов начинается с нуля. Например, atr [3][4] означает элемент матрицы, размещенный в четвертой строке и в пятом столбце. В памяти элементы матрицы располагаются по строкам.

Для вывода матриц в языке С++ можно использовать оператор cout, включив его в соответствующий цикл. Каждое очередное обращение к cout не приводит к переводу строки, и организация перевода строки возлагается на пользователя. Ниже приводится фрагмент программы, обеспечивающий вывод матрицы [A] в естественном виде.

for (i=0; i<=n; i++)

{

printf("\n");

for (j=0; j<=m; j++) cout<< A[i][j]);

}

Действия с матрицами

Результатом сложения (вычитания) двух матриц [A] и [B] одинакового размера является матрица [C] такого же размера. Элементы матрицы C равны сумме (разности) соответствующих элементов матриц

[A] и [B], т. е.

Cijijij – для сложения, Cijij–Вij – для вычитания,

i=0,1,2,...,m–1, j=0,1,2,...,n–1 в языке Си.

51

Умножение матриц. При умножении матриц [A] и [B] необходимо, чтобы число столбцов матрицы [A] было равно числу строк матрицы [B]. Если рассмотреть умножение квадратных матриц одинакового порядка n, то результатом умножения будет квадратная матрица [C] того же порядка. Элементы квадратной матрицы [C] получаются по следу-

n

ющему правилу: Cij AikBkj , т. е. чтобы получить произвольный

k=1

элемент Cij, стоящий в i-й строке и j-м столбце матрицы [C], нужно

элементы i-й строки матрицы [A] умножить на соответствующие элементы j-го столбца матрицы [B] и полученные произведения сложить.

Схема алгоритма программы умножения матриц показана на рисунке.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.Составить программу, соответствующую заданному варианту.

2.Ввести текст программы в ЭВМ, отладить программу на тестовых примерах.

3.Результаты работы (отлаженный код программы, результаты счета) предъявить преподавателю.

52

4. Оформить отчет и защитить работу, убедившись в своей готовности по контрольным вопросам.

ВАРИАНТЫ ЗАДАНИЙ

Вариант 1

Задана целая матрица X[3][4]. Вычислить минимальный элемент каждого столбца этой матрицы.

Вариант 2

Задана комплексная матрица Y[4][4]. Найти сумму элементов на ее побочной диагонали.

Вариант 3

Задана вещественная матрица Z[3][2]. Вычислить сумму ее положительных элементов и произведение отрицательных.

Вариант 4

Задана целая матрица T[3][4]. Вычислить произведение элементов, стоящих до первого отрицательного, в каждой строке матрицы. Считать, что в каждой строке присутствует отрицательный элемент.

Вариант 5

Задана вещественная матрица Q[5][2]. Вычислить сумму ее элементов, выделенных на рисунке серым цветом.

Вариант 6

Задана целая матрица E[5][5]. Найти минимальный элемент среди элементов над главной диагональю (не включая саму диагональ).

53

Вариант 7

Задана вещественная матрица D[2][5]. Вычислить сумму элементов, стоящих до первого положительного, в каждом столбце матрицы. Считать, что в каждом столбце присутствует положительный элемент.

Вариант 8

Задана целая матрица C[4][4]. Найти минимальный элемент ее побочной диагонали.

Вариант 9

Задана комплексная матрица B[4][3]. Вычислить произведение ее элементов, выделенных на рисунке серым цветом.

Вариант 10

Задана вещественная матрица A[4][2]. Найти максимальный элемент каждой строки этой матрицы.

Вариант 11

Задана комплексная матрица K[4][4]. Найти сумму элементов под главной диагональю матрицы (не включая саму диагональ).

Вариант 12

Задана целая матрица I[5][3]. Найти количество элементов матрицы, попадающих в интервал [–3; 8].

Вариант 13

Задана целая матрица R[4][5]. Найти произведение ее элементов, кратных трем, но не кратных пяти.

54

Вариант 14

Задана целая матрица L[4][2]. Поменять в ней местами первую и вторую строку.

Вариант 15

Задана вещественная матрица M[3][4]. Поменять в ней местами первый и третий столбец.

Вариант 16

Задана целая матрица A[5][5]. Переписать в массив B[25] элементы матрицы A по спирали по часовой стрелке, начиная с элемента, первого в строке и столбце.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 17

Задана целая матрица P[4][4]. Вычислить сумму ее элементов, выделенных на рисунке серым цветом.

Вариант 18

Задана вещественная матрица G[3][4]. Вычислить произведение ее элементов, выделенных на рисунке серым цветом.

55

Вариант 19

Задана вещественная матрица W[5][3]. Увеличить в два раза ее элементы, расположенные в четных строках. Измененную матрицу W выдать на экран монитора.

Вариант 20

Задана комплексная матрица OC[4][3]. Вычислить сумму ее элементов, выделенных на рисунке серым цветом.

Вариант 21

Задана целая матрица X[8][8]. Вычислить произведение ее элементов, выделенных на рисунке серым цветом.

Вариант 22

Задана вещественная матрица Y[3][4]. Вычислить произведение ее элементов в тех столбцах, в которых первый элемент > 2,4.

Вариант 23

Задана целая матрица E[4][3]. Если в ней встречаются элементы, кратные трем, то поменять их на пять. Измененную матрицу E вывести на экран монитора.

56

Вариант 24

Задана вещественная матрица C[5][3]. Найти в ней минимальный элемент и поменять его местами с элементом, первым в строке и столбце. Измененную матрицу C вывести на экран монитора.

Вариант 25

Задана комплексная матрица K[3][5]. Найти произведение ее элементов в каждом столбце.

Вариант 26

Задана целая матрица M[4][5]. Переписать в матрицу B[4][5] сначала все положительные элементы, потом отрицательные. Перезапись выполнять по строкам.

Вариант 27

Задана целая матрица B[5][3]. Определить количество элементов матрицы, кратных двум, но не кратных четырем.

Вариант 28

Задана целая матрица CH[4][5]. Найти минимальный элемент в каждом столбце матрицы CH.

Вариант 29

Сформировать и вывести на экран монитора матрицу X[4][5], где первые два элемента первого столбца равны единице, а остальные элементы образуют числа Фибоначчи (Fi = Fi–1 + Fi–2, i = 3, 4, 5…), записанные по столбцам.

Вариант 30

Сформировать и вывести на экран монитора матрицу

1

2

3

4

5

 

 

6

1

7

8

9

 

 

 

11

1

12

 

 

V 10

13 .

 

 

15

16

1

17

 

14

 

18

19

20

21

1

 

 

 

 

 

 

 

 

57

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Приведите определение матрицы и следа квадратной матрицы.

2.Что называется суммой и разностью двух матриц?

3.По какому правилу определяются элементы результирующей матрицы при умножении?

4.Как объявляется и инициализируется массив в программах на языке С++?

5.Как нумеруются элементы массива в языке С++? В каком порядке элементы массива располагаются в памяти?

6.Что такое указатель в языке С++? Как он объявляется, инициализируется и применяется?

7.Как осуществляется передача данных из одной функции в дру-

гую?

8.Какие требования предъявляются к оформлению схем алгоритмов?

9.Напишите программу для нахождения суммы (произведения) всех элементов квадратной матрицы порядка n.

10.Какими способами можно вывести элементы матрицы на экран?

11.Дайте пояснения по всем операторам написанных вами про-

грамм.

58

Дуркин Валерий Вячеславович Шлыкова Ольга Николаевна

ИНФОРМАТИКА

Учебно-методическое пособие

Редактор И.Л. Кескевич

Выпускающий редактор И.П. Брованова Дизайн обложки А.В. Ладыжская Компьютерная верстка С.И. Ткачева

Налоговая льгота – Общероссийский классификатор продукции Издание соответствует коду 95 3000 ОК 005-93 (ОКП)

Подписано в печать 17.09.2019. Формат 60 84 1/16. Бумага офсетная. Тираж 50 экз. Уч.-изд. л. 3,48. Печ. л. 3,75. Изд. № 141/19. Заказ № 1301. Цена договорная

Отпечатано в типографии Новосибирского государственного технического университета

630073, г. Новосибирск, пр. К. Маркса, 20

59

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]