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

Вывод

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


 

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

21444. Дифференциальные уравнения векторных линий 218 KB
  Выделим из двухпараметрического семейства векторных линий называемых характеристиками уравнения 3 или 6 предыдущей лекции PxyzQxyz=Rxyz3 6 произвольным способом однопараметрическое семейство устанавливая какуюнибудь произвольную непрерывную зависимость между параметрами С1 и С2 . Тем самым найден интеграл квазилинейного уравнения 3 предыдущей лекции зависящий от произвольной функции. Если требуется найти не произвольную векторную поверхность поля а поверхность проходящую через заданную линию...
21445. Приведение матрицы линейного оператора к канонической (жордановой) форме 623.5 KB
  Вектор называется присоединенным вектором оператора соответствующим собственному значению если для некоторого целого выполняются соотношения . Иными словами если присоединенный вектор порядка то вектор является собственным вектором оператора . Существует базис 1 образованный из собственных и присоединенных векторов оператора в котором действие оператора дается следующими соотношениями:...
21446. Обыкновенные дифференциальные уравнения 438.5 KB
  Функция называется решением (или интегралом) д.у., если она раз непрерывно дифференцируема на некотором интервале и при удовлетворяет уравнению. Процесс нахождения решения д.у. называется его интегрированием...
21447. Линейные дифференциальные уравнения I порядка 299.5 KB
  Линейным дифференциальным уравнением I порядка называется уравнение I порядка линейное относительно неизвестной функции и её производной. Если то уравнение 1 называется линейным однородным. В соответствии с этим методом в формуле 2 полагают тогда: Подставляем полученное соотношение в уравнение 1 будем иметь: или откуда интегрируя находим следовательно . Интегрируем соответствующее однородное уравнение т.
21448. Нормальные системы дифференциальных уравнений. Условие Липшица 267 KB
  Условие Липшица. Говорят что функция удовлетворяет условию Липшица в некотором интервале [b] если существует такое число 0 что для. Так функция удовлетворяет условию Липшица в окрестности x=0 но её производная в точке x=0 имеет разрыв. Если функция нескольких переменных удовлетворяет условию Липшица по каждой из этих переменных в соответствующем диапазоне их изменения т.
21449. Теорема о дифференцируемости решений дифференциальных уравнений. Особые точки 463.5 KB
  Особые точки. Теорема: если в окрестности точки функция имеет непрерывные производные до mого порядка включительно то решение уравнения 1 удовлетворяющее начальному условию в некоторой окрестности точки имеет непрерывные производные до m1 порядка включительно. Подставляя в уравнение 1 получим тождество...
21450. Второе условие теоремы существования и единственности - условие Липшица 353 KB
  Если такая кривая является интегральной кривой для рассматриваемого уравнения то соответствующее решение называется особым решением. Поэтому свойство единственности решения уравнения 1 удовлетворяющего условию обычно понимается в том смысле что через данную точку по данному направлению задаваемому проходит не более одной интегральной кривой уравнения 1. Итак только среди точек кривой называемой pдискриминантной кривой т. Если какаянибудь ветвь кривой принадлежит особому множеству и в то же время является интегральной...
21451. Линейные дифференциальные уравнения n-ого порядка 230 KB
  Если при то на этом отрезке однородное уравнение 1 эквивалентно следующему 2 где. Уравнение 2 запишем также в виде 2 Если коэффициенты непрерывны на отрезке [b] то в окрестности любых начальных значений где – любая точка интервала x b удовлетворяется условие теоремы существования и единственности см. функции ...
21452. Линейные неоднородные дифференциальные уравнения 256.5 KB
  Линейные неоднородные дифференциальные уравнения. Будем рассматривать линейные неоднородные уравнения вида 1 Это уравнение сохраняя прежние обозначения запишем в виде Если при в уравнении 1 все коэффициенты и правая часть fx непрерывны то оно имеет единственное решение удовлетворяющее условиям где – любые действительные числа а – любая точка интервала . Действительно правая часть уравнения 1 В окрестности рассматриваемых...