Скачиваний:
8
Добавлен:
01.04.2014
Размер:
28.27 Кб
Скачать

УО «Белорусский Государственный университет информатики и радиоэлектроники»

Отчёт

По контрольной работе №5 по теме:

«Обработка двухмерных динамических массивов. Функции пользователя»

Вариант 1

Выполнил:

Студент гр. ____

______________

Проверил:

______________

Минск 2010

Задание.

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.

Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных.

Найти сумму элементов, расположенных на главной диагонали.

Т.к. нужно определить сумму элементов, расположенных на главной диагонали, то матрица является квадратной, поэтому M=N.

Листинг 5.1. Функция main

#include <iostream.h>

#include <conio.h>

int summ_main_diag(int n, int **a);

int main(){

int **a, i, j, n, m, summ;

cout << "Input N (M=N):\t";

cin >> n;

// Значение M=N, т.к. матрица квадратная

m = n;

a = new int *[n];

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

a[i] = new int [m];

cout << "\nInput A" << endl;

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

for (j=0; j<m; j++){

cout << "a[" << i+1 << "][" << j+1 << "] = ";

cin >> a[i][j];

}

cout << "\nMatrix A:" << endl;

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

for (j=0; j<m; j++)

cout << "\t" << a[i][j];

cout << endl;

}

summ = summ_main_diag(n, a);

cout << "Summa zna4eniy glavnoj diagonali = " << summ << endl;

delete []a;

cout << "\nPress any key to exit..." << endl;

getch();

return 0;

}

Листинг 5.2. Функция summ_main_diag

int summ_main_diag(int n, int **a){

int i, s=0;

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

s += a[i][i];

return s;

}

Результат выполнения программы.

Используемая литература.

Б. Страуструп. Язык программирования С++

Соседние файлы в папке отчёты