70117

Подсчет суммы элементов квадратной матрицы, полученной из клавиатуры

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

Информатика, кибернетика и программирование

Написать одну программу, с помощью которой можно задать размер квадратной матрицы. При этом размер должен быть нечётным числом и больше 7. При помощи генератора случайных чисел инициализировать матрицу целыми числами в диапазоне от -20 до +5.

Русский

2014-10-15

55.5 KB

0 чел.

Министерство образования и науки Украины

ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет информационной безопасности

Кафедра информационной безопасности

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

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

«Підрахунок суми елементів квадратної матриці, отриманої з клавіатури»

Разработал студент гр. РТ-123

__________ Комарницкий Н.А.

           (подпись)

“___” ____________ 2013 р.

Старший преподав. каф. ИБ

_______________    Яцик Э.А.

          (подпись)

“___” ____________ 2013 р.

Одесса 2013

1  Цель работы

1) Изучение интегрированной среды Borland C.

2) Закрепление знаний.

3) Создание сложной программы с использованием большого количества функций определенных пользователем.

  1.  Домашнее задание

Написать одну программу, с помощью которой можно задать размер квадратной матрицы. При этом размер должен быть нечётным числом и больше 7. При помощи генератора случайных чисел инициализировать матрицу целыми числами в диапазоне от -20 до +5. Подсчитать сумму элементов матрицы, которые обозначены тёмным цветом на рисунке 1. Вывести на экран найденную сумму.

Выполнение лабораторной работы

1.Данная лабораторная работа написана на языке С++.

Исходный код программы :

// nikita.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include <iostream>

#include <locale.h>

#include <ctime>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL, "");

srand(time(NULL)); // Инициализируем генератор случайных чисел.

 int n = 0;

int sum = 0; //Сумма нужных треугольников

int sum2 = 0; //Потом посчитаем сумму левого треугольника

int sum1 = 0;

int sum3 = 0;

cout << "Ввести размерность матрицы (Больше 7 и нечетное)";

cin >> n; // Считываем с клавиатуры n

while (n <= 7)

{

 cout << "Число должно быть больше 7" << endl;

 cin >> n;

}

while (n % 2 != 1)

{

 cout << "Число должно быть нечетным" << endl;

 cin >> n;

}

double half = n / 2 + 1; //половинка размерности матрицы +1

cout << "Сгенерированная матрица" << endl;

int **a = new int*[n]; // Создаем массив указателей

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

{

 a[i] = new int[n]; // Создаем элементы

 }

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

{

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

 {

  a[i][j] = rand() % 23 - 11; // Каждый элемент случайному числу от -23 до +1

  cout << a[i][j] << "      "; // Вывести элементы в консоль

 }

 cout << endl;

 cout << endl;// Двумерный массив. Строка кончилась, переводим строку и на консоли

 }

//Верхняя часть

for (int i = 0; i < half - 1; i++)

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

  sum2 += a[i][j];

//Нижняя правая половинка

 for (int j = half; j < n; j++)

for (int i = half - 1; i < n; i++)

 sum1 += a[i][j];

//Нижний треугольник

 for (int j = 0; j < half + 1; j++)

{

 for (int i = half - 1; i < (n - j); i++)

  sum3 += a[i][j];

}

sum = sum1 + sum2 + sum3;

 cout << "Сумма нужных элементов :" << sum << endl;

 // Удаление массива

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

 {

 delete[]a[i]; // Удаляем каждый элемент

 }

delete[] a; // А потом массив

system("pause");

 return 0;

}

2.Результат выполнения работы :

Вывод

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


 

А также другие работы, которые могут Вас заинтересовать

73466. Формирование первоначального навыка письма в период обучения грамоте 79.5 KB
  Цель исследования: раскрыть специфику формирования навыка письма у первоклассников в период обучения грамоте. Предмет исследования: Система упражнений как метод формирования первоначального навыка письма у первоклассников.
73467. Нормативное регулирование налогового учета по НДС 79 KB
  В условиях рыночной экономики для нашего государства взимание налога на добавленную стоимость НДС является более эффективным по сравнению с налогом с продаж. Решения проблемы исчисления и уплаты НДС возникла сразу же после введения данного налога в России.
73468. Взаимодействие объектов железнодорожного транспорта с окружающей средой. Экологические требования к объектам железнодорожного транспорта 73 KB
  По вине железной дороги доставка груза была просрочена на четверо суток что привело к простою оборудования и рабочей силы предприятия. Что такое претензия В каких случаях перевозчик несет ответственность и в каких освобождается от ответственности за несохранность груза принятого...
73469. Формування доходу, отриманого туристичним господарством 71 KB
  Результатом виробничо-експлуатаційної діяльності готелів є не готовий продукт а пропозиція особливого виду послуг. При цьому послуги не можуть вироблятись окремо від існуючого матеріального продукту тобто без експлуатації матеріально-технічної бази будівлі споруди...
73472. Автоматизация инженерных задач 258.5 KB
  Многие инженерные задачи требуют решения системы линейных алгебраических уравнений СЛАУ. Для решения инженерных задач на ЭВМ с использованием численных методов чаще всего применяются готовые программы обеспечения например MthCD MS Excel и другие.
73473. Социально-профессиональный портрет и квалификационные характеристики российского среднего класса: региональный аспект 255.5 KB
  Теоретико-методологические основы изучения социально-профессиональных и квалификационных характеристик российского среднего класса. Понятие среднего класса в социологической традиции. Профессиональные характеристики российского среднего класса: анализ эмпирических данных.
73474. Анализ опыта Ирландии в управлении жилищным сектором 247.5 KB
  Целью исследования является анализ опыта Ирландии в управлении жилищной сферой на предмет возможности его применения в России. Также мною самостоятельно были введены термины помогающие понять особенности жилищного сектора Ирландии но отсутствующие в практике российского законодательства.