Вход

Написание программы «Операции с матрицами» на языке С++

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 93137
Дата создания 2015
Страниц 29
Источников 11
Мы сможем обработать ваш заказ (!) 24 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
2 030руб.
КУПИТЬ

Содержание

ВВЕДЕНИЕ 5
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 7
1.1. Операция сложения матриц 8
1.2. Транспонирование матрицы 8
1.3.Умножение матриц на число 8
1.4. Умножение матриц 9
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 10
2.1.Разработка блок схемы алгоритма 10
2.2. Описание среды разработки 10
2.3 Разработка программы 12
2.3.1 Ввод и вывод матрицы 13
2.3.2. Сложение матриц 15
2.3.3. Транспонирование матрицы 17
2.3.4. Умножение матрицы на число 19
2.3.5. Умножение матрицы на матрицу 21
2.4. Тестирование программы 22
Рис. 8. Тест №2 при введении некорректных данных 24
2.5 Инструкция пользователю 24
2.5.1 Входные данные 24
2.5.2 Выходные данные 25
2.5.3 Пример работы программы 26
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 28
Приложение I 29

Фрагмент работы для ознакомления

Цель, поставленная в начале работы, достигнута.Разработанная программа выполняет следующие задачи:ввод/вывод матрицы;сложение матриц;умножение матрицы на число;умножение матриц;транспонирование матрицы.В первой главе курсовой работы рассмотрены и сопровождены примерами операции с матрицами. Вторая глава полностью посвящена реализации алгоритмов операций на языке программирования С++.Мы изучили такую среду разработки, как MicrosoftVisualStudio 2010.MicrosoftVisualStudio - мощная среда разработки, обеспечивающая высокое качество кода на протяжении всего цикла разработки ПО, от проектирования до внедрения.СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВБеллман Р. Введение в теорию матриц/ Белльман Р., 2010. – с.375Бьёрн Страуструп. Дизайн и эволюция С++/ Б. Страуструп, – СПб: ДМК Пресс, 2006. – 448 с.Гутер Р.С., Резниковский П.Т. Программирование и вычислительная математика. М., 1971 г. – c.264Литвиненко Н. А. - Технология программирования на С++ / БХВ-Петербург, 2010. – c.281Павловская Т.А. С/С++. Программирование на языке высокого уровня./ Павловская Т.А., – СПб.: Питер, 2012. – 461 с.Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование. Практикум./ Павловская Т.А., Щупак Ю.А. – СПб: Питер, 2011. – c.352Прохоренок Н.А.Программирование на С++ в VisualStudio® 2010 Express/СамИздат, 2010.–c.547Роберт Седжвик. Алгоритмы на С++. Фундаментальные алгоритмы и структуры данных./ Седжвик,М.: «Вильямс», 2011. – 1056 с.Семакин И.Г., Шестаков А.П. Основы программирования/ Семакин И.Г., Шестаков А.П. – Москва,2010. – с.431Шамолин М.В. Высшая математикаМ.: 2008.— 912 с.Шипачев В.С. Высшая математика/ 7-е изд., стер. - М.: 2012.— 479 с. ПриложениеIЦелая программа на языке С++:// opermatri.cpp: определяет точку входа для консольного приложения.//#include "stdafx.h"#include <math.h>#include <iostream>#include <conio.h>#include <iomanip>#include <time.h>using namespace std;void tranponirovanie( int **A,intn,int m);void slozhenie (int**A,intn,int m);void umnozhenie_na_chislo(int **A,intn,int m);void vvod_matrix (int **W, int n, int m);intumnozhenie_matrix(int **A, int n, int m);int _tmain(intargc, _TCHAR* argv[]){setlocale(0,"rus");intn,m;cout<<"Введите размерность матрицы\n";cin>>n>>m;int **mas=(int**) new int [n];for (int i=0;i<n;i++) mas[i]=new int[m];vvod_matrix(mas,n,m);slozhenie(mas,n,m);tranponirovanie(mas,n,m);umnozhenie_na_chislo(mas,n,m);umnozhenie_matrix(mas,n,m);_getch();return 0;}void vvod_matrix (int **W, int n, int m){for (int i=0; i<n;i++){for (int j=0;j<m;j++){cout << "\nmas [" <<i+1 << "]["<<j+1<< "] = ";cin >> W[i][j];}}cout<<"Даннаяматрица:\n";for (int i=0; i<n;i++){for (int j=0;j<m;j++){cout <<setw(5)<< W[i][j] << " ";}cout << endl;}}void slozhenie (int**A,intn,int m){intr,q;cout<<"Введите размерность второй матрицы\n";cin>>r>>q;int **B=(int**) new int [r];for (int i=0;i<n;i++) B[i]=new int[q];int **C=(int**) new int [n];for (int i=0;i<n;i++) C[i]=new int[m];if (r==n && q==m){cout<<"Введите вторую матрицу для сложения:\n";vvod_matrix(B,r,q);cout<<"Получившиеся матрица после сложения:\n";for (int i=0; i<n;i++){for (int j=0;j<m;j++){C[i][j]=B[i][j]+A[i][j];cout<<setw(5)<< C[i][j];}cout<<endl;}}elsecout<<"Невозможно сложить матрицы!";}void tranponirovanie( int **A,intn,int m){int **Q=(int**) new int [n];for (int i=0;i<m;i++) Q[i]=new int[m];{for(int i=0;i<m;i++) { for(int j=0;j<n;j++) {Q[i][j]=A[j][i];}}cout<<"Транспонированиематрицы:\n";for (int i=0; i<m;i++){for (int j=0;j<n;j++){cout <<setw(5)<< Q[i][j] << " ";}cout << endl;}}}void umnozhenie_na_chislo(int **A,intn,int m){int **P=(int**) new int [n];for (int i=0;i<n;i++) P[i]=new int[m];int k;cout<<"\nВведите число на которое надо умножить матрицу:\nk=";cin>>k;for (int i=0; i<n;i++){for (int j=0;j<m;j++){P[i][j]=A[i][j]*k;}}cout<<"Матрица P:\n";for (int i=0; i<n;i++){for (int j=0;j<m;j++){cout <<setw(5)<< P[i][j] << " ";}cout << endl;}}intumnozhenie_matrix(int **A, int n, int m)//a[n][m],b[k][l],c[n][l]{intl,k;cout<< "введите размерность второй матрицы\n ";cin>>k>>l;int **B=(int**) new int [k];for (int i=0;i<k;i++) B[i]=new int[l];int **C=(int**) new int [n];for (int i=0;i<n;i++) C[i]=new int[l];if( k!=m ) {cout<<"Матрицы нельзя перемножить";return 1;}else{vvod_matrix(B,m,l);for (int i=0; i<n; ++i){for (int j=0; j<l; ++j){C[i][j]=0;for (int q=0; q<m; ++q)C[i][j] += A[i][q]*B[q][j];cout <<setw(5)<< C[i][j];}cout << endl;}return 0;}}

Список литературы [ всего 11]

1 Беллман Р. Введение в теорию матриц/ Белльман Р., 2010. – с.375
2 Бьёрн Страуструп. Дизайн и эволюция С++/ Б. Страуструп, – СПб: ДМК Пресс, 2006. – 448 с.
3 Гутер Р.С., Резниковский П.Т. Программирование и вычислительная математика. М., 1971 г. – c.264
4 Литвиненко Н. А. - Технология программирования на С++ / БХВ-Петербург, 2010. – c.281
5 Павловская Т.А. С/С++. Программирование на языке высокого уровня./ Павловская Т.А., – СПб.: Питер, 2012. – 461 с.
6 Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование. Практикум./ Павловская Т.А., Щупак Ю.А. – СПб: Питер, 2011. – c.352
7 Прохоренок Н.А.Программирование на С++ в VisualStudio® 2010 Express/СамИздат, 2010.–c.547
8 Роберт Седжвик. Алгоритмы на С++. Фундаментальные алгоритмы и структуры данных./ Седжвик,М.: «Вильямс», 2011. – 1056 с.
9 Семакин И.Г., Шестаков А.П. Основы программирования/ Семакин И.Г., Шестаков А.П. – Москва,2010. – с.431
10 Шамолин М.В. Высшая математикаМ.: 2008.— 912 с.
11 Шипачев В.С. Высшая математика/ 7-е изд., стер. - М.: 2012.— 479 с.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00473
© Рефератбанк, 2002 - 2024