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.Результат выполнения работы :

Вывод

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


 

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

63230. Кримінальна відповідальність 21.88 KB
  Мета: ознайомити учнів з поняттями кримінальна відповідальність покарання; розкрити особливості кримінальної відповідальності неповнолітніх; розвивати вміння працювати з нормативноправовими документами...
63231. Правоохоронні органи України. Права неповнолітньої особи при затриманні, арешті, допиті 29.43 KB
  Правовий статус міліції. Правовий статус міліції Міліція це система державних органів виконавчої влади що покликані захищати життя здоровя права і свободи громадян власність природне середовище та інтереси...
63232. Кримінальний процес 29.12 KB
  Мета: розкрити зміст понять: судове слідство потерпілий підозрюваний; охарактеризувати права та обовязки учасників кримінального процесу; розвивати вміння розвязувати юридичні ситуації робити висновки...
63233. Подорож у світ юридичних професій 28.59 KB
  Обовязки: підтримка державного обвинувачення в суді представництво громадян у судах нагляд за дотриманням і правильним застосуванням законодавства України всіма підприємствами організаціями і установами нагляд за органами які виконують покарання...
63236. Греко-перські війни 19.73 KB
  Мета: визначити головні причини й розглянути основні події грекоперських війн; дати оцінку війнам як способу вирішення суперечностей між людьми. Після цього уроку учні зможуть: називати час грекоперських війн...
63237. Розквіт афінської демократії 23.09 KB
  Мета: розглянути форму державного правління за часів правління Перікла що називають золотою добою Афін визначити причини поразки Афін у Пелопоннеській війні й наслідки перемоги Спарти для подальшого розвитку суспільного ладу Афін.
63238. Побут, традиції і господарювання греків 30.63 KB
  Мета: дати уявлення про релігійні вірування давніх греків порівняти їх із релігійними уявленнями інших давніх народів; простежити звязок між рівнями розвитку господарського і духовного життя в Давній Греції...