Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
myxayan
3 / 3 / 8
Регистрация: 16.10.2012
Сообщений: 93
#1

Перевернуть все нечетные строки динамической матрицы через функцию - C++

09.11.2015, 15:28. Просмотров 238. Ответов 4
Метки нет (Все метки)

Как правильно описать двумерный массив в main? Так-то программа работает, но после разделения на функции, появились ошибочки)
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
int * Zamena(int * vec, int n)
{
    for(int i = 0,buf; i < n/2; i++)
    {
        buf = vec[i];
        vec[i] = vec[n - i - 1];
        vec[n - i - 1] = buf;
    }
    return vec;
}
void MassDv(int** Arr,int n, int m)
{   int **Arr=new int*[n];
    
  for(int i = 0; i < n; i++)
    { Arr[i] = new int [m];
        
        for(int j = 0; j < m; j++)
        {
           Arr[i][j]=rand()%20;
            cout<<Arr[i][j]<<" ";
        }
        cout<<endl; 
 
}
}
void MassViv(int** Arr,int n, int m)
{   int **Arr=new int*[n];
    for(int i = 0; i < m; i++)
    { Arr[i] = new int [m];
        for(int j = 0; j < n; j++)
        {
            cout<<Arr[i][j]<<" ";
        }
        cout<<endl;
    }
 
}
void Perevorot (int** Arr, int n,int m)
{
      for(int i = 0; i < m; i++)
    {
        if( i%2 != 0)
           Arr[i]=Zamena(Arr[i],n);
        for(int j = 0; j < n; j++)
            cout<<*(Arr+i+j)<<" ";
        cout<<endl;
    }
    
}
int main()
{setlocale(LC_ALL,"Russian");
 
int n;
int m;
cout << "Введите количество строк в массиве " << endl;
  cin >> n;
  cout << "Введите количество столбцов в массиве " << endl;
    cin >> m;
    int** ar;
ar=new int[n][m];
    
    MassDv(ar,n,m);
    
MassViv(ar,n,m);
    Perevorot(ar,n,m);
MassViv(ar,n,m);
 
    
 
    getch();
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 15:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перевернуть все нечетные строки динамической матрицы через функцию (C++):

Найти количество простых чисел в массиве. Перевернуть все нечетные строки матрицы. Перевернуть каждое четное слово в строке
Ребята помогите разобраться в коде программы, написав подробные комменты к...

Перевернуть все нечетные строки матрицы
Перевернуть все нечетные строки матрицы (Использовать функции).

Помогите дописать код: Перевернуть все нечетные строки матрицы
Если что -то не правильно( а оно там есть) помогите исправить!...

Перевернуть все четные строки матрицы
1.Двумерный массив (Перевернуть все четные строки матрицы.) 2.работа со...

Перевернуть все нечётные строки матрицы
Тема: Функции и массивы в С++ Задание: Перевернуть все нечётные строки матрицы...

Перевернуть все четные строки матрицы
Подскажите пожалуйста как перевернуть все четные строки матрицы. Заранее...

4
SuperKir
334 / 329 / 242
Регистрация: 10.03.2015
Сообщений: 1,388
Завершенные тесты: 1
09.11.2015, 15:35 #2
Цитата Сообщение от myxayan Посмотреть сообщение
int** ar; ar=new int[n][m];
C++
1
2
3
    int **arr = new int*[n];
    for (int i = 0; i < n; i++)
        arr[i] = new int[m];
1
myxayan
3 / 3 / 8
Регистрация: 16.10.2012
Сообщений: 93
09.11.2015, 15:45  [ТС] #3
Отлично, спасибо.
Теперь другая ошибка
C++
1
2
void MassDv(int** Arr,int n, int m)
{   int **Arr=new int* [n];
пишет переопределение формального параметра Arr.
Также и для функции MassViv.
0
SuperKir
334 / 329 / 242
Регистрация: 10.03.2015
Сообщений: 1,388
Завершенные тесты: 1
09.11.2015, 15:47 #4
myxayan, потому что ты подаешь готовую матрицу, и зачем-то ее снова создаешь в памяти.
Можно просто удалить данные строки.
1
myxayan
3 / 3 / 8
Регистрация: 16.10.2012
Сообщений: 93
09.11.2015, 15:58  [ТС] #5
Да, спасибо. Программа запустилась, работала не правильно, немного подрихтовал. Все как надо теперь)
0
09.11.2015, 15:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2015, 15:58
Привет! Вот еще темы с решениями:

Все нечетные строки матрицы сдвинуть циклически на К элементов влево
Помогите пожалуйста нужно нужно создать двумерный динамический массив и все...

Все нечетные строки матрицы сдвинуть циклически на К элементов влево
Уважаемые товарищи программисты прошу у вас помощи так как сам не очень понимаю...

Все нечетные строки матрицы сдвинуть циклически на К элементов влево
Помогите пожалуйста!!!!!!!!! Только должно быть с помощью функции. Это...

Двумерный динамический массив. Все нечетные строки матрицы сдвинуть циклически на К элементов влево
Помогите пожалуйста нужно нужно создать двумерный динамический массив и все...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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