Скачиваний:
59
Добавлен:
15.06.2014
Размер:
31.23 Кб
Скачать

Белорусский государственный университет информатики и радиоэлектроники

Кафедра вычислительных методов и программирования

Лабораторная работа № 5

Тема: «Указатели. Программирование с использованием

динамических массивов»

Вариант 4

Выполнил студент группы № 922403

Олешкевич Андрей Сергеевич

Приняла: Коренская И.H

Минск 2009

Задание: задана матрица размерами NxM. Определить количество «особых элементов» матрицы, считая элемент «особым», если он больше суммы остальных элементов своего столбца.

Листинг программы:

#include <iostream.h>

int main()

{

int row, column; // Колличество строк и столбцов

int count = 0; // Счетчик

int sum = 0; // Сумма элементов столбца

// без "особого элемента"

cout <<"Input array measured (row, column): ";

cin >> row >> column;

//--- Инициализация двумерного динамического массива

int **ms = new int*[row];

for(int i = 0; i < row; i++)

ms[i] = new int[column];

//--- Запрос ввода значения

for(int k = 0; k < row; k++)

{

for(int j = 0; j < column; j++)

{

cout <<"Element "<<k+1<<":"<<j+1<<" = ";

cin >> ms[k][j];

}

}

//--- Поиск "особых элементов"

for(int a = 0; a < row; a++)

{

for(int d = 0; d < column; d++)

{

for(int t = 0; t < row; t++)

{

sum += ms[t][d];

}

sum -= ms[a][d];

if(sum < ms[a][d])

count++;

sum = 0;

}

}

cout <<"Quantity of special elements: " << count << endl;

//--- Освобождение ресурсов

for (int s = 0; s < row; s++)

delete[]ms[s];

delete[]ms;

//-------------------------

return 0;

}

Выводы: Проведя данную лабораторную работу, я освоил указатели, научился писать программы с использованием динамических двумерных массивов. Также выучил операторы new и delete, при помощи которых осуществляется создание и удаление указателей.