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

Вывод

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


 

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

12159. ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI 36 KB
  ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI Запрос – это вопрос к базе данных возвращающий запись или множество записей удовлетворяющих вопросу. Любой запрос по базе данных выполняется на языке SQL Structured Query Language – язык структурированных запросов который был создан Microsoft в конце 70х год...
12160. Режимы design-time и run-time. Объектные процедурные типы. Работа с ini файлами 148.5 KB
  Лабораторная работа №1 Тема: Режимы designtime и runtime. Объектные процедурные типы. Работа с iniфайлами Цель работы: показать простоту создания приложений в режиме designtime и удобство использования компонентов; показать возможность создания приложений с настраиваемым интер...
12161. Классы для представления потока данных 43 KB
  Классы для представления потока данных В среде Delphi существует иерархия классов для хранения и последовательного вводавывода данных. Классы этой иерархии называются потоками. Потоки лучше всего представлять как файлы. Классы потоков обеспечивают различное физическое ...
12162. КОМПОНЕНТЫ TCHART, TPAINTBOX. РАБОТА С ГРАФИКОЙ 25.5 KB
  ЛАБОРАТОРНАЯ РАБОТА №4 Компоненты TChart TPaintBox. работа с Графикой Цель: овладеть навыками анимации построение графиков функций. Замечание: Графики функций необходимо вывести в отдельных окнах в двух вариантах а именно: используя компонент для отображения г
12163. ПОТОКИ. СЕРИАЛИЗАЦИЯ. КОМПОНЕНТ TREEVIEW 21 KB
  ЛАБОРАТОРНАЯ РАБОТА №5 Потоки. Сериализация. Компонент TreeView Цель: научиться эффективно использовать потоки; освоить сериализацию; использование контейнеров; компонент TreeView. Вариант 1. Дерево просмотра каталогов и файлов Вариант 2. Дерево манипуляции с каталог
12164. ДИНАМИЧЕСКИЕ БИБЛИОТЕКИ 58.5 KB
  ДИНАМИЧЕСКИЕ БИБЛИОТЕКИ Динамические библиотеки DLL Dynamic Link Library играют важную роль в функционировании ОС Windows и прикладных программ. Они представляют собой файлы с откомпилированным исполняемым кодом который используется приложениями и другими DLL. Реализация многи
12165. КЛАССЫ ОБЩЕГО НАЗНАЧЕНИЯ 51 KB
  Классы общего назначения Как показывает практика в большинстве задач приходится использовать однотипные структуры данных: списки массивы множества и т.д. От задачи к задаче изменяются только их элементы а методы работы сохраняются. Например для любого списка нужны п...
12166. Основные объекты в Delphi 84 KB
  События формы OnCreate происходит сразу после создания формы. Обработчик этого события может установить начальные значения для свойств формы и ее компонентов запросить у операционной системы необходимые ресурсы создать служебные объекты а также выполнить другие д
12167. Рекомендации по оформлению исходного кода Delphi 95.72 KB
  Рекомендации по оформлению исходного кода Delphi Цель Повысить читаемость исходного кода разрабатываемого программистами. Сфера приложения и определения Рассматриваются файлы содержащие исходный код на языке Object Pascal то есть файлы проекта и файлы модулей. Даютс