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

Вывод

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


 

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

50093. Исследование переходных процессов в электрических цепях с источником постоянного напряжения 517 KB
  Построение графиков напряжения и токов при переходных процессах. Построение графиков по расчётным данным:...
50094. Техніка ударів по мячу ногою 130 KB
  Техніка ударів по м’ячу ногою. У футболі удари по м’ячу виконуються ногою і головою. Удари по м’ячу головою роблять серединою та бічними частинами голови. Частини тіла якими футболіст виконує прийоми техніки гри удари зупинки ведення тощо Удар по м’ячу внутрішньою частиною стопи Цей прийом застосовується під час ударівпередач на невеликі відстані зокрема по воротах.
50095. Определение удельного сопротивления, контактного сопротивления, и удельной теплопроводности металлов низкоомных материалов с помощью измерительного усилителя 176 KB
  Несмотря на низкое удельное сопротивление при большой длине металлические проводники могут иметь заметное сопротивление что приводит к потерям электроэнергии при её передаче и влияет на работу потребителей. Например изза большого числа витков активное омическое сопротивление катушки индуктивности может оказаться соизмеримым с её реактивным сопротивлением. Для металлических образцов реальных размеров учитывая что удельное сопротивление в среднем варьируется от 107 до 105 Омм величины сопротивлений оказываются также малы. Ещё одной...
50097. Массивы. Линейные массивы. Двухмерные массивы – матрицы. Многомерные массивы 42 KB
  Элементами массива могут быть данные любого но только одного типа включая структурированные. Тип элементов массива называется базовым число элементов массива фиксируется при описании и в процессе выполнения программы не меняется. Доступ к каждому отдельному элементу осуществляется путем индексирования элементов массива. Индекс массива по смыслу тождествен понятию индекса элемента вектора.
50098. Расчет снеговой нагрузки 190.5 KB
  Основные факторы влияющие на значение снеговой нагрузки это количество выпадающих в зимнее время осадков ветровой перенос в том числе сдувание с покрытия и таяние снега. Разница в количестве осадков в разные годы служит причиной многолетней изменчивости снеговой нагрузки. Базовое значение снеговой нагрузки представляет собой РАСЧЕТНЫЙ ВЕС СНЕГОВОГО ПОКРОВА на 1 м2 горизонтальной поверхности земли превышаемый один раз в 25 лет точнее зим. Расчетным значением этой нагрузки должен быть максимум из n ее повторений где n число лет...
50099. Визначення резонансного потенцыалу збудження атомів гелію методом Франка і Герца 477.5 KB
  Прилади і обладнання Трьохелектродна лампа яка заповнена інертним газом – гелієм джерело живлення типу ПСИП500 анодної та сіткової ділянок кіл установки автотрансформатор випрямляч струму типу ВСА6А амперметр катодного кола мікроамперметр анодного кола вольтметри Теоретичні відомості та опис установки Різниця потенціалів пройшовши яку електрон зазнає непружного зіткнення з атомом газу внаслідок чого атом переходить основного стану в перший збуджений стан називають резонансним потенціалом. Сила катодного струму вимірюється...
50100. Способи перенесення одного партнера двома і техніка їх виконання 45.5 KB
  Перенесення партнера: одного одним одного двома. Однією із різновидів перенесення вантажу є перенесення партнера. Способи перенесення партнера: одного двома; одного одним. Способи перенесення одного партнера двома і техніка їх виконання...