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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kosstudent
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 21
#1

передача матрицы в функцию - C++

19.11.2012, 21:19. Просмотров 518. Ответов 4
Метки нет (Все метки)

всем привет!
пишу программу,которая просто в классе суммирует матрицу (пусть для простоты 3*3)
но--не могу никак сделать такую вещь--в функцию их передать..не знаю как бы точно выразиться
вот мой код.Кто-нибудь может подредактировать его так,чтобы он работал?С этим принципиальная сложность)
заранее прошу простить,я чайник в си++

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
#include <iostream>
using namespace std;
 
class matrix    {
public:
void summa(float *,float *);
float d[3][3];
};
 
void matrix::summa(float *m1,float *m2) {
                            for (int i=0;i<=2;++i) {
                            for (int j=0;j<=2;++j) {
                            d[i][j]=m1[i][j]+m2[i][j];
                            }
                            }
 
                cout<<"summa matric"<<endl;
                for (int i=0;i<=2;++i) {
                for (int j=0;j<=2;++j){
                cout<<d[i][j]<<"\t";    //dl'a otstupa mejdu elementami
                }
                cout<<"\n";             //dl'a otstupa mejdu strokami
                }
}
 
int main()
{
 
    float * a=new float[3][3];
    float * b=new float[3][3];
    cout<<"vvedite elementi 1 matrici"<<endl;
    for (int i=0;i<=2;++i) {
    for (int j=0;j<=2;++j){
    cin>>a[i][j];
  }
    }
       for (int i=0;i<=2;++i) {
    for (int j=0;j<=2;++j){
    cout<<a[i][j]<<"\t";    //dl'a otstupa mejdu elementami
}
    cout<<"\n";             //dl'a otstupa mejdu strokami
    }
            cout<<"vvedite elementi 2 matrici"<<endl;
            for (int i=0;i<=2;++i) {
            for (int j=0;j<=2;++j){
            cin>>b[i][j];
            }
            }
                for (int i=0;i<=2;++i) {
                for (int j=0;j<=2;++j){
                cout<<b[i][j]<<"\t";    //dl'a otstupa mejdu elementami
                }
                cout<<"\n";             //dl'a otstupa mejdu strokami
                }
 
        matrix s;
        s.summa (a,b);
 return 0;
}
Добавлено через 1 минуту
не могу понять где ошибаюсь((но скорее всего--где подаю аргументы в функцию
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос передача матрицы в функцию (C++):

Передача матрицы в функцию - C++
Доброго времени суток. Возникло несколько вопросов: Почему при вызове Matrix1 выдаётся ошибка, но в то же время Matrix2 работает...

Передача матрицы в функцию - C++
Всем здравствуйте, не совсем понимаю концепцию объявления идентификатора trans, объясните, пожалуйста, как нужно его объявить? ...

передача всей матрицы в функцию - C++
как передать всю матрицу в функцию? функция ничего не возвращает, я только печатает матрицу

Передача в функцию копии матрицы - C++
1) Я создаю массив указателей(матрицу) на char. char** mapInChar. 2) Выделяю память в зависимости от размеров нужных мне. ...

Передача небольшой матрицы в функцию - C++
Если написать такой пример #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int FUNC(const int arg){ printf(&quot;\n...

Передача динамической матрицы в функцию - C++
Здравствуйте подскажите пожалуйста, как можно передать динамическую матрицу, заданную и инициализированную следующим образом ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
19.11.2012, 22:00 #2
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
#include <iostream>
using namespace std;
 
class matrix    {
public:
void summa(float **,float **);
float d[3][3];
};
 
void matrix::summa(float **m1,float **m2) {
                            for (int i=0;i<=2;++i) {
                            for (int j=0;j<=2;++j) {
                            d[i][j]=m1[i][j]+m2[i][j];
                            }
                            }
 
                cout<<"summa matric"<<endl;
                for (int i=0;i<=2;++i) {
                for (int j=0;j<=2;++j){
                cout<<d[i][j]<<"\t";    //dl'a otstupa mejdu elementami
                }
                cout<<"\n";             //dl'a otstupa mejdu strokami
                }
                getchar();
                getchar();
}
 
int main()
{
    const int N=3;
    float **a=new float* [N];//выделяем память для а
    for(int i=0;i<N;i++)    a[i] = new float [N];
 
    float **b=new float* [N];//выделяем память для b
    for(int i=0;i<N;i++)    b[i] = new float [N];
    cout<<"vvedite elementi 1 matrici"<<endl;
    for (int i=0;i<=2;++i) {
    for (int j=0;j<=2;++j){
    cin>>a[i][j];
  }
    }
       for (int i=0;i<=2;++i) {
    for (int j=0;j<=2;++j){
    cout<<a[i][j]<<"\t";    //dl'a otstupa mejdu elementami
}
    cout<<"\n";             //dl'a otstupa mejdu strokami
    }
            cout<<"vvedite elementi 2 matrici"<<endl;
            for (int i=0;i<=2;++i) {
            for (int j=0;j<=2;++j){
            cin>>b[i][j];
            }
            }
                for (int i=0;i<=2;++i) {
                for (int j=0;j<=2;++j){
                cout<<b[i][j]<<"\t";    //dl'a otstupa mejdu elementami
                }
                cout<<"\n";             //dl'a otstupa mejdu strokami
                }
 
        matrix s;
        s.summa(a,b);
 return 0;
}
1
Kosstudent
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 21
19.11.2012, 22:05  [ТС] #3
а что за getchar()?просто из любопытства?
0
DarkSkazochnik
3 / 3 / 0
Регистрация: 17.11.2012
Сообщений: 39
19.11.2012, 22:10 #4
функция, считывающая символ с клавиатуры. как правило, используется для того, чтобы задержать экран с выводом информации после работы программы до нажатия какой-либо кнопки на клавиатуре.
0
Kosstudent
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 21
19.11.2012, 22:11  [ТС] #5
мм ясно
а мой компиль её не признал что-то
ладненько спасибо всем
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 22:11
Привет! Вот еще темы с ответами:

Передача в функцию и возврат из функции динамической матрицы - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; const int n = 8; double ** f (double ** mas, int n) { ...

Передача указателя на шаблонную функцию в другую функцию - C++
Пишу тест для нескольких улучшений квиксорта с измерением времени. Функция benchmark принимает итераторы для диапазона элементов, указатель...

Передача объекта в функцию или функцию друга - C++
Здравствуйте, уважаемые программисты :) К примеру есть такой код. #include &lt;iostream&gt; using namespace std; class My_Class1 { ...

Передача массива в функцию используя указатель на функцию - C++
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.11.2012, 22:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru