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

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

Войти
Регистрация
Восстановить пароль
 
kostya.you
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 27
#1

Динамический массив - C++

29.03.2011, 00:52. Просмотров 599. Ответов 10
Метки нет (Все метки)

Помогите найти ошибку.
При компилировании выдает следущее: could not find a match for myn(int * *,int, int)


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
83
84
# include<iostream.h>
# include<conio.h>
const int n=4, m=4;
void inarray(int*[],int,int);
void myn(int[n][m],int,int);
void outarray(int[n][m],int,int);
void inarray(float*[],int,int);
void myn(float[n][m],int,int);
void outarray(float[n][m],int,int);
void main()
{
clrscr();
int n, m;
int**a=new int*[m];
float**d=new float*[m];
cout<<"vvedit kilkist stolbcov:\n";
cin>>n;
cout<<"vvedit kilkist strok:\n";
cin>>m;
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
inarray (a,m,n);
myn(a,m,n);
cout<<"masiv1:"<<endl;
outarray(a,m,n);
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
inarray (d,m,n);
myn(d,m,n);
cout<<"masiv2:"<<endl;
outarray(d,m,n);
getch();
}
void inarray(int*x[],int m,int n)
{
for(int i=0; i<n; i++)
   {
   x[i]=new int[m];
   for(int j=0; j<m; j++)
      cin>>x[i][j];
   }
}
void myn(int x[n][m],int m, int n)
{
int t[n];
for(int i=0; i<n; i++)
   {
   t[i]=x[i][1];
   x[i][1]=x[i][3];
   x[i][3]=t[i];
   }
}
void outarray(int x[n][m], int m, int n)
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<x[i][j]<<" ";
   cout<<endl;
   }
}
void inarray(float x[n][m])
{
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
      cin>>x[i][j];
}
void myn(float x[n][m])
{
float t[n];
for(int i=0; i<n; i++)
   {
   t[i]=x[i][1];
   x[i][1]=x[i][3];
   x[i][3]=t[i];
   }
}
void outarray(float x[n][m])
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<x[i][j]<<" ";
   cout<<endl;
   }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2011, 00:52     Динамический массив
Посмотрите здесь:

Массив и память. Как создать динамический массив? - C++
не могу исправить ошибки. И нужен динамический массив я что-то попробовала для его создания но ничего не вышло #include &quot;stdafx.h&quot; ...

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

Динамический массив - C++
есть примерно такая функция: int *funktion (int size){ int *g = new int ; ... //функция работы с дин. массивом

Динамический массив - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; int main() { int m,n,i,j,s; double **umas2,*b; cout&lt;&lt;&quot;n=&quot;; cin&gt;&gt;n; ...

Динамический массив - C++
Добрый день! Подскажите, как сделать, чтобы массив выводился как матрица, а не строчкой? Где закралась ошибка? #include &lt;iostream&gt; ...

Динамический массив - C++
Задан массиве F(k). Определить упорядочен ли этот массив. Если упорядочен, то как (по возрастанию или убыванию). 5. Требование к...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.03.2011, 04:57     Динамический массив #2
Ошибка в том, что функция ждет статический двумерный массив, а получает указатель на указатель, что совсем не одно и тоже.
kostya.you
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 27
29.03.2011, 10:01  [ТС]     Динамический массив #3
спасибо, но если можешь объясни где что исправить, чтобы этого не возникало.
Байт
Эксперт C
15833 / 10160 / 1522
Регистрация: 24.12.2010
Сообщений: 19,151
29.03.2011, 11:08     Динамический массив #4
kostya.you, Объяви
C++
1
 int a[n][m]; float d[n][m];
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.03.2011, 12:36     Динамический массив #5
или же прототип функции изменить на
C++
1
2
void myn(int**,int,int);
void myn(float**,int,int);
kostya.you
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 27
29.03.2011, 14:12  [ТС]     Динамический массив #6
Щас попробую.

P.S. Borland 3.1, это не влияет???
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.03.2011, 14:19     Динамический массив #7
Цитата Сообщение от kostya.you Посмотреть сообщение
Borland 3.1, это не влияет??
Нет..
kostya.you
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 27
29.03.2011, 14:20  [ТС]     Динамический массив #8
Цитата Сообщение от Байт Посмотреть сообщение
kostya.you, Объяви
C++
1
 int a[n][m]; float d[n][m];
где объявлять если так делать?
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.03.2011, 14:23     Динамический массив #9
Цитата Сообщение от kostya.you Посмотреть сообщение
int**a=new int*[m];
float**d=new float*[m];
Вместо этого. Т.е. определись конкретно или работать со статичекскими массивами или динамическими.
kostya.you
0 / 0 / 0
Регистрация: 26.12.2010
Сообщений: 27
29.03.2011, 14:24  [ТС]     Динамический массив #10
Цитата Сообщение от kazak Посмотреть сообщение
или же прототип функции изменить на
C++
1
2
void myn(int**,int,int);
void myn(float**,int,int);
сделал так, все равно есть ошибки. задание немного другое. вот просто рабочий массив в виде функции с перегрузкой. нужно переделать его в динамический.



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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include<iostream.h>
#include<conio.h>
const int n=4,m=4;
void InArray(int [n][m]);
void Sum(int [n][m]);
void Change(int [n][m]);
void PrintArray(int [n][m]);
void InArray(float [n][m]);
void Sum(float [n][m]);
void Change(float [n][m]);
void PrintArray(float [n][m]);
void main()
{
clrscr();
int A[n][m];
float D[n][m];
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
InArray(A);
Sum (A);
Change (A);
cout<<"masiv1:"<<endl;
PrintArray (A);
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
InArray(D);
Sum (D);
Change (D);
cout<<"masiv2:"<<endl;
PrintArray (D);
getch();
}
 
void InArray(int X[n][m])
 
{
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
 
      cin>>X[i][j];
 
cout<<endl;
 
}
 
void Sum(int X[n][m])
{
int S=0;
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
if(j%2==0)
S=S+X[i][j];
}
 
void Change(int X[n][m])
{
int S;
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
 
if (i==j)
X[i][j]=S;
}
 
void PrintArray (int X[n][m])
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<X[i][j]<<" ";
   cout<<endl;
   }
}
void InArray(float X[n][m])
 
{
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
 
      cin>>X[i][j];
 
cout<<endl;
 
}
 
void Sum(float X[n][m])
{
float S=0;
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
if(j%2==0)
S=S+X[i][j];
}
 
void Change(float X[n][m])
{
float S;
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
 
if (i==j)
X[i][j]=S;
}
 
void PrintArray (float X[n][m])
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<X[i][j]<<" ";
   cout<<endl;
   }
}
Добавлено через 57 секунд
Цитата Сообщение от kazak Посмотреть сообщение
Вместо этого. Т.е. определись конкретно или работать со статичекскими массивами или динамическими.
нет нет нет. нужен динамический массив
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2011, 14:32     Динамический массив
Еще ссылки по теме:

Динамический массив - C++
У меня есть динамический массив, как можно его заполнить заданными зараннее числами? #include &lt;iostream.h&gt; void main() { ...

Динамический массив - C++
Здравствуйте, мне необходимо создать массив, который будет в течение работы программы в размерах уменьшаться или увеличиваться. Как это...

Динамический массив - C++
Добрый день. Строил таблицу истинности с использованием динамического массива, вроде все верно считает, но вылетает ошибка. #include...

Динамический массив - C++
Я постоянно работаю с динамическими массивами в Object Pascal и PHP. Вот внезапно возникла необходимость использования языка C++ и пришлось...


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

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.03.2011, 14:32     Динамический массив #11
На правильность работы не проверял, исправил, чтоб компилился
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
83
84
# include<iostream.h>
# include<conio.h>
const int n=4, m=4;
void inarray(int*[],int,int);
void myn(int**,int,int);
void outarray(int**,int,int);
void inarray(float*[],int,int);
void myn(float**,int,int);
void outarray(float**,int,int);
void main()
{
clrscr();
int n, m;
int**a=new int*[m];
float**d=new float*[m];
cout<<"vvedit kilkist stolbcov:\n";
cin>>n;
cout<<"vvedit kilkist strok:\n";
cin>>m;
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
inarray (a,m,n);
myn(a,m,n);
cout<<"masiv1:"<<endl;
outarray(a,m,n);
cout<<"vvedit masiv "<<n<<"*"<<m<<endl;
inarray (d,m,n);
myn(d,m,n);
cout<<"masiv2:"<<endl;
outarray(d,m,n);
getch();
}
void inarray(int*x[],int m,int n)
{
for(int i=0; i<n; i++)
   {
   x[i]=new int[m];
   for(int j=0; j<m; j++)
      cin>>x[i][j];
   }
}
void myn(int **x,int m, int n)
{
int *t = new int [n];
for(int i=0; i<n; i++)
   {
   t[i]=x[i][1];
   x[i][1]=x[i][3];
   x[i][3]=t[i];
   }
}
void outarray(int **x, int m, int n)
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<x[i][j]<<" ";
   cout<<endl;
   }
}
void inarray(float x[n][m])
{
for(int i=0; i<n; i++)
   for(int j=0; j<m; j++)
      cin>>x[i][j];
}
void myn(float **x, int m, int n)
{
float *t = new float [n];
for(int i=0; i<n; i++)
   {
   t[i]=x[i][1];
   x[i][1]=x[i][3];
   x[i][3]=t[i];
   }
}
void outarray(float **x, int m, int n)
{
for(int i=0; i<n; i++)
   {
   for(int j=0; j<m; j++)
      cout<<x[i][j]<<" ";
   cout<<endl;
   }
}
Yandex
Объявления
29.03.2011, 14:32     Динамический массив
Ответ Создать тему
Опции темы

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