Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Лабораторная работа: Программа, реализующая тип данных "вещественная матрица"

Название: Программа, реализующая тип данных "вещественная матрица"
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа Добавлен 23:33:42 05 мая 2011 Похожие работы
Просмотров: 895 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Федеральное агентство Российской Федерации по образованию

ГОУ ВПО «Тульский государственный университет»

Кафедра электронных вычислительных машин

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

Языки программирования. «Классы»

Выполнил: студент

группы 230701

Гребецкая Е.В.

Проверил: Савин Н.И.

Тула 2010

Введение

Задание

Реализовать класс «вещественная матрица», который позволяет осуществлять основные операции с вещественными прямоугольными матрицами.

Техническое задание

Написать программу, реализующую тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие операции над матрицами:

• сложение, вычитание, умножение, деление (+, -, *, /)

• операции сравнения на равенство/неравенство;

• операции вычисления транспонированной матрицы

Требования к разработке

Microsoft Visual Studio 2008 илиновее.

Наличиеверсийоперационнойсистемы Microsoft Windows 98, Windows (Me), Windows 2000, Windows ХР, Windows Vista, Windows 7.

Требования кэксплуатации

Microsoft Windows 98/Me/2000/ХР/Vista/7.

Технические характеристики

Время и эффективность работы программы зависит от эксплуатационных характеристик пользователя.

Эксплуатационные характеристики

Для того чтобы программа работала быстро и эффективно не требуется мощных компьютеров и современных операционных систем. Ниже приведены минимальные параметры компьютера, которые нужны для работы:

· Центральный процессор: Intel Pentium 166 MHz (рекомендуется P2 400 MHz)

· Оперативная память: 128 Mb (рекомендуемая 256 Mb)

· Памяти на жестком диске: 1 Мб.

· Монитор с разрешением VGA и выше

Входные параметры:

элементы матрицы вводятся с клавиатуры

Выходные параметры:

Вывод в консоль результата выполнения программы.


Теоретические положения

транспонированная вещественная матрица

Справка по программным методам

Класс-это производный структурированный тип, введенный программистом на основе уже существующих типов. Механизм классов позволяет создавать типы в полном соответствии с принципами абстракции данных, т. е класс задает некоторую структурированную совокупность типизированных данных и позволяет определить набор операций над этими данными. Простейшим образом класс можно определить с помощью инструкции:

Ключ_класса имя_класса {список_компонентов};

где ключ_класса – одно из служебных слов class, struct, union, имя_класса – произвольно выбираемый разработчиком идентификатор, список_компонентов – определения и описания типизированных данных и принадлежащих классу функций.

Конструктор – специальная функция класса, которая вызывается автоматически при создании объекта типа класса. Имя конструктора совпадает с именем класса, не возвращает никакого результата, даже void. Компилятор гарантирует единственный вызов конструктора для одного объекта.

Деструктор – специальная функция класса, которая вызывается автоматически при уничтожении объекта. Имя деструктора совпадает с именем класса, перед которым ставится символ “~”. Компилятор гарантирует единственный вызов деструктора для одного объекта. Деструктор не может иметь параметров и поэтому не может быть перегружен.

При создании автоматической переменной деструктор вызывается автоматически при выходе из области видимости, то есть за рамки блока, в котором определена переменная. Для динамических переменных дела обстоят совсем по-другому, для освобождения занятой памяти используется оператор delete, который и вызывает деструктор.

Справка по математическим методам:

Прямоугольная матрица – математический элемент, в котором в виде таблицы записываются числа, называемые элементами матрицы, которые образую т прямоугольную область. Элементы, расположенные в ряд по горизонтали, называются строками матрицы, по вертикали - столбцами матрицы.

Действия с матрицами:

· Сложение: сложение матриц происходит поэлементно, например, элемент a11 складывается с элементом b11, a21 с b21 и т.д.

· Вычитание происходит поэлементно, аналогично сложению.

· Умножение матриц:

Произведением матрицы размером на матрицу размером называется матрица размером у которой:

· Транспонирование матрицы:

· Сравнение матриц: если элементы одной матрици равны элементам другой матрицы, то матрицы равны.


Алгоритмические положения

В данной программе имеется файл matrix.cpp в котором в секции private представлены типы размеров матрицы и указателей, а в секции public констуктор класса, а также представлены функции, которые будут осуществляться при работе с этим классом.

Сначала срабатывает конструктор, выделяющий память под указатели и элементы.

Matrix::Matrix(int n, int m)

{int i,j;

Matrix::n=n;

Matrix::m=m;

a=new double*[n]; // выделение памяти под указатели

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

a[i]=new double[m]; // выделениепамятиподэлемент

c=new double*[n];

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

c[i]=new double[m];

-числа, однако число строк и число столбцов должно совпадать с прописанными в закрытой секции m и n.

{puts("\nВведите элементы матрицы:");

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

for(j=0;j<m;j++)

{cout<<"a["<<i<<"]["<<j<<"]=";

cin>>a[i][j];}

cout<<endl;}};


Программная реализация

Тестирование

При тестировании программы выполнение программы прошло успешно.

Приложение

Код программы

#include "stdafx.h"

#include <iostream>

using namespace std;

class Matrix{

private:

int n,m;

//размеры матрицы

double **a, **c;

// указатели

public:

Matrix::Matrix(int n, int m)

{int i,j;

Matrix::n=n;

Matrix::m=m;

a=new double*[n]; // выделение памяти под указатели

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

a[i]=new double[m]; // выделениепамятиподэлемент

c=new double*[n];

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

c[i]=new double[m];

// Заполнение массива элементами с клавиатуры

{puts("\nВведите элементы матрицы:");

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

for(j=0;j<m;j++)

{cout<<"a["<<i<<"]["<<j<<"]=";

cin>>a[i][j];}

cout<<endl;}};

Matrix::~Matrix()

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

delete []a[i];// освобождениепамяти

delete []a;};

//Операцияприсваивания

Matrix &Matrix::operator =(const Matrix &A)

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

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

a[i][j]=A.c[i][j];

return *this;}

//Сложениематриц

Matrix & Matrix::operator +(Matrix &A)

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

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

c[i][j]=a[i][j]+A.a[i][j];

return *this;}

//Вычитаниематриц

Matrix & Matrix::operator -(Matrix &A)

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

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

c[i][j]=a[i][j]-A.a[i][j];

return *this;}

// Умножениематриц

Matrix & Matrix::operator *(Matrix &A)

{

double s=0;

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

{

int z=0;

while(z<A.m)

{

c[i][z]=0;

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

{

s=GetI(i,j)*A.GetI(j,z);

c[i][z]+=s;

}

z++;

}

}

return *this;

}

//Сравнениематриц

Matrix & Matrix::operator ==(Matrix &A)

{int f=0;

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

{for(int j=0; j<m; j++)

if(a[i][j]!=A.a[i][j]){ cout<<"\nМатрицынеравны\n";f=1; break;}

if(f==1) break;}

if(f==0) cout<<"\nМатрицыравны\n";

return *this;}

//Транспонированиематрицы

void Matrix::Transp()

{c=new double*[m];

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

c[i]=new double[n]; // захватпамятиподэлемент

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

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

c[j][i]=a[i][j];

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

delete []a[i];// освобождениепамяти

delete []a;

a=new double*[m];

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

a[i]=new double[n]; // захватпамятиподэлемент

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

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

a[i][j]=c[i][j];

Matrix::n=m;

Matrix::m=n;

};

void main()

{}

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений08:21:25 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
10:40:31 29 ноября 2015

Работы, похожие на Лабораторная работа: Программа, реализующая тип данных "вещественная матрица"
Алгоритмы параллельных процессов при исследовании устойчивости ...
Министерство образования Российской Федерации Санкт-Петербургский государственный архитектурно-строительный университет Кафедра прикладной математики ...
} double C (int k, int i, int j) // коэффициэнты в ФПЭД
matrix (int newmaxsize) {matrix (newmaxsize,newmaxsize);
Раздел: Рефераты по информатике, программированию
Тип: дипломная работа Просмотров: 639 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Програмний продукт Pacific З Compiler
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ КАФЕДРА АВТОМАТИЗАЦІЇ ВИРОБНИЧИХ ПРОЦЕСІВ Звіт про практику Краматорськ ...
{ int G,M,D,i,j,k,W; //Оголошуємо перемінні G,M,D,i,j,k,W,
{ int *Z,G,i=0,K=0,j,b,a,c,*W; //Оголошуємо змінні G,i=0,K=0,j,b,a,c
Раздел: Рефераты по информатике, программированию
Тип: отчет по практике Просмотров: 129 Комментариев: 1 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Защита информации в системах дистанционного обучения с монопольным ...
АННОТАЦИЯ Данная диссертация посвящена вопросам построения систем защиты информации для программных пакетов, используемых в монопольном доступе. В ...
cpp_arr_ptr vars(new int[variablesNum])
return INT_MAX - 1;
Раздел: Рефераты по информатике, программированию
Тип: реферат Просмотров: 1381 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Основы C
Кафедра: Автоматика и Информационные Технологии ОСНОВЫ С ОГЛАВЛЕНИЕ Введение Глава 1. Основы языка Си 1.1. Алфавит 1.2. Основные конструкции Си 1.3 ...
return(Point(int(x),int(y))
{ int m,n,i,j,k,a[mm],b[nn],c[mm+nn];
Раздел: Рефераты по информатике, программированию
Тип: учебное пособие Просмотров: 1161 Комментариев: 2 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать
Объективное программирование
ВВЕДЕНИЕ В ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕ Лекция 1. Объектное программирование как технология программирования - Традиционная технология программирования ...
void dat::SetDat(int d=0, int m=0, int y=0)
{ dat c(12,12); // Вызывается Конструктор dat(int,int,int)
Раздел: Рефераты по информатике, программированию
Тип: реферат Просмотров: 176 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Все работы, похожие на Лабораторная работа: Программа, реализующая тип данных "вещественная матрица" (2551)

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(150370)
Комментарии (1830)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru