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

Двухмерный массив, поменять столбцы местами - C++

Восстановить пароль Регистрация
 
STRAG 92
0 / 0 / 0
Регистрация: 23.10.2010
Сообщений: 59
23.09.2011, 12:15     Двухмерный массив, поменять столбцы местами #1
Дан двухмерный массив N*M. Поменять 2-й и 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
#include<iostream.h>
const int n=4,m=4;
void InArray (float [n][m]);
void Change (float [n][m]);
void PrintArray (float [n][m]);
void main()
{
float a[n][m];
InArray (a);
Change (a);
PrintArray (a);
}
 void InArray (float a[n][m])
{
 cout<<"Vvedite massiv"<<n<<"*"<<m<<endl;
 for (int i=0;i<n;i++)
 {              
 for (int j=0;j<m;j++)
 cin>> a[i][j];
 cout<<endl;
 }
 }
 void Change (float a[i][j])
 {
 for (int i=0;i<n;i++)
 {
 cout<<endl;
 for (int j=0;j<m;j++)
 }
 }
 void PrintArray  (float a[n][m])
 {
 cout<<"Matrica A \n";
 for (int i=0;i<m;i++)
 {
 for (int j=0;j<n;j++)
 cout<<a[j][i];
 cout<<endl;
 }
 }
 void Change (float a[n][m])
 {
 cout<<"Massiv B \n";
 for ( int i>0;i<n;i++)
 {
 for ( int j>0;j<m;j++)
 cout<<" "<<a[i][j];
 }
 }
Выдает ошибки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
23.09.2011, 12:31     Двухмерный массив, поменять столбцы местами #2
C++
1
void Change (float a[i][j])
Вот так массив не передается. Это делается так
C++
1
void Change (float **a)
Вы вообще свой код читали? Почему у вас цикл for используется так:
C++
1
 for ( int j>0;j<m;j++)
?
Не говоря уже об iostream.h, void main, отсутствии пространства имен std и форматировании кода.
Чистый
Автор FAQ
 Аватар для Чистый
2572 / 1379 / 70
Регистрация: 08.09.2011
Сообщений: 3,705
Записей в блоге: 1
23.09.2011, 12:33     Двухмерный массив, поменять столбцы местами #3
ну даже беглого взляда достаточно что бы понять что ошибки будут, где пространство std (using namespace std), что этот код делает не понятно:
C++
1
2
3
4
5
 for (int i=0;i<n;i++)
 {
 cout<<endl;
 for (int j=0;j<m;j++)
 }
вот так можно попробовать
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
#include<iostream>
using namespace std;
const int n=4,m=4;
void InArray (float [n][m]);
void Change (float [n][m]);
void PrintArray (float [n][m]);
int main()
{
    float a[n][m];
    InArray (a);
    PrintArray (a);
    Change (a);
    PrintArray (a);
    system("pause");
return 0;
}
 void InArray (float a[n][m])
{
     cout<<"Vvedite massiv"<<n<<"*"<<m<<endl;
     for (int i=0;i<n;i++)
     {              
         for (int j=0;j<m;j++)
            cin>> a[i][j];
     }
 }
 void Change (float a[n][m])
 {
     int i=0,j=0;
     float tmp=0;
     for (i=0;i<n;i++)
     {   
        for (j=0;j<m;j++)
        {
            if (i==1)
            {
                tmp= a[i][j] ;              
                a[i][j] =a[i+1][j] ;
                a[i+1][j] = tmp;
            }
        }
     }
 }
 void PrintArray  (float a[n][m])
 {
    cout<<"Matrica A" <<endl;
     for (int i=0;i<m;i++)
     {
         for (int j=0;j<n;j++){
             cout<<a[j][i];}
         cout <<endl;
     }
 }
код не проверял, писал на основе вашего
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
23.09.2011, 12:47     Двухмерный массив, поменять столбцы местами #4
Upd: объявлять размер массива глобальной константой не принято, поскольку это имя может совпасть с именем другой переменной. Так что я несколько неверно написал - код скомпилируется, с передачей размерности, но это не есть красиво.
Yandex
Объявления
23.09.2011, 12:47     Двухмерный массив, поменять столбцы местами
Ответ Создать тему
Опции темы

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