Форум программистов, компьютерный форум CyberForum.ru

Модульное программировапние на С++ (консоль) - C++

Восстановить пароль Регистрация
 
Vladi_mir
Сообщений: n/a
08.07.2011, 11:24     Модульное программировапние на С++ (консоль) #1
Помогите пожалуйста подкорректировать код.
Задание было таким: Разместить определение данных в заголовочном файле, а определения функций и главную функцию программы в двух отдельных файлах.
Вариант
Даны квадратная матрицаА порядка п и вектор b с п элементами. Получить вектор , где Е – единичная матрица. Определить функции формирования единичной матрицы и умножения квадратной матрицы на вектор.
Вот что у меня получилось

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "func.h"
using namespace std;
 
int main()
{
 Matrix A;
 Matrix E;
 Vector b;
 Vector res;
 
 cout<<"Input matrix A:"<<endl;
 Input(A);
 cout<<"Input vector b:"<<endl;
 Input(b);
 
 cout<<"Matrix A:"<<endl;
 Print(A);
 cout<<"Vector b:"<<endl;
 Print(b);
 
 Matrix tmp;
 Subtrac(tmp,A,E);
 Multi(res,b,tmp);
 
 cout<<"Calculate (A-E)*b "<<endl;
 Print();
 return 0;
}
Библиотека:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef FUNC_H_INCLUDED
#define FUNC_H_INCLUDED
#include <iostream>
 
using namespace std;
 
#define N 3
typedef double Matrix[N][N]; //матрица А
typedef double Vector[N];   // вектор b
 
void Input(double (&m)[N][N]);
void Input(double (&vb)[N]);
 
void Print(double (&m)[N][N]);
void Print(double (&vb)[N]);
 
void Subtrac(double (double (&m)[N][N], double (&n)[N][N]);
void Multi(double (&res)[N],double (&m)[N][N], double (&vb)[N]);
 
#endif // FUNC_H_INCLUDED
_________________________________________________

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "func.h"
 
// Заполнение матрицы А:
void Input(double (&m)[N][N])
{
 for(int i=0;i<N;i++)
 {
  for(int j=0;j<N;j++)
  {
   cin>>m[i][j];
  }
  cout<<endl;
 }
}
// Ввод координат вектора b:
void Input(double (&vb)[N])
{
 for(int i=0;i<N;i++)
 {
  cin>>vb[i];
 }
}
 
// Вывод на экран матрицы А:
void Print(double (&m)[N][N])
{
 cout<<endl;
 for(int i=0;i<N;i++)
 {
  for(int j=0;j<N;j++)
  {
   cout<<m[i][j]<<"\t";
  }
  cout<<endl;
 }
 cout<<endl;
}
// Вывод на экран вектора b:
void Print(double (&vb)[N])
{
 cout<<endl;
 for(int i=0;i<N;i++)
 {
  cout<<vb[i]<<"\t";
 }
 cout<<endl;
}
 
// Создание единичной матрицы Е:
void Matrix_E(double n[N][N])
{
 for(int i=0;i<N;i++)
 {
    for(int j=0;j<N;j++)
    {
        n[i][j] = 1.0;
    }
 }
}
// Вычисление А-Е
// где Е - единичная матрица
void Subtrac(double (double (&m)[N][N], double (&n)[N][N])
{
 for(int i=0;i<N;i++)
 {
    for(int j=0;j<N;j++)
    {
        m[i][j] = m[i][j] - n[i][j];
    }
 }
 
}
void Multi(double (&res)[N],double (&m)[N][N], double (&vb)[N])
{
 for(int i=0;i<N;i++)
 {
  res[i] = 0;
  for(int j=0;j<N;j++)
   res[i] += m[i][j]*vb[j];
 }
 cout<<endl;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2011, 11:24     Модульное программировапние на С++ (консоль)
Посмотрите здесь:

C++ Структуры+модульное ошибка компиляции помоогите разобраться
Модульное программирование C++
Модульное программирование C++
Модульное деление на степень двойки C++
C++ Идентификатор не определён (работа с файлами заголовка, модульное программирование)
Модульное тестирование C++
C++ Шаблоны функциональных классов, модульное программирование

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.07.2011, 11:35     Модульное программировапние на С++ (консоль) #2
не вижу конкретного вопроса

Добавлено через 45 секунд
и выделите код тегами кода пожалуйста
olympian
2 / 2 / 0
Регистрация: 18.10.2008
Сообщений: 33
08.07.2011, 14:49     Модульное программировапние на С++ (консоль) #3
Цитата Сообщение от Maxwe11 Посмотреть сообщение
и выделите код тегами кода пожалуйста
И еще отступы не забудьте! Иначе никто код читать не будет.
И не нужен весь код - только участок, по которому вопрос.
Yandex
Объявления
08.07.2011, 14:49     Модульное программировапние на С++ (консоль)
Ответ Создать тему
Опции темы

Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru