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

Как в матрице поменять местами столбцы? - C++

Восстановить пароль Регистрация
 
ШифрКод
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 55
21.04.2013, 11:09     Как в матрице поменять местами столбцы? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{randomize();
int N,M;
cout<<"Vvedit rozmirnist matrici NxM:\n";
cin>>N;
cin>>M;
cout<<"Matricu sformovano\n";
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
a[i][j]=random(10);
cout<<a[i][j]<<"\t";}
cout<<endl;}
getch();
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 11:09     Как в матрице поменять местами столбцы?
Посмотрите здесь:

C++ Поменять местами столбцы в квадратной матрице по правилу: первый с последним, второй с предпоследним и т.д.
Как поменять столбцы местами C++
C++ В матрице поменять местами столбцы с заданными номерами
C++ В заданной матрице А (N , М) поменять местами столбцы с номерами P и Q
Поменять местами столбцы с максимальным и минимальным элементами в матрице C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
saaresto
9 / 9 / 0
Регистрация: 22.03.2013
Сообщений: 23
21.04.2013, 11:24     Как в матрице поменять местами столбцы? #2
Какие столбцы местами поменять?
ШифрКод
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 55
21.04.2013, 19:42  [ТС]     Как в матрице поменять местами столбцы? #3
любые...к примеру 1-й и 2-й стлобцы!
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
21.04.2013, 19:47     Как в матрице поменять местами столбцы? #4
Проще менять местами не столбцы, а указатели на них. Как-то так
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
#include <iostream>
using namespace std;
 
void del_matrix(int** &matrix, int size) //освобождение памяти выделенной под массив
{
    for (int i = 0; i < size; i++)
    {
        delete [] matrix[i];
    }
    delete [] matrix;
    matrix = 0;
}
 
int ** new_matrix(int size)  // выделение памяти под целочисленный массив n*n
{
    int** matrix = 0;
    int i = 0;
    try 
    {
        matrix = new int* [size];
        for (; i < size; i++)
        {
            matrix[i] = new int [size];     
        }
        return matrix;
    }
    catch(bad_alloc e)
    {
        cerr << e.what();
        del_matrix(matrix,i);
    }
}
 
void cin_matrix(int** matrix, int size)//ввод матрицы
    /*int** matrix - двумерный динамический массив
    int size - размер матрицы
    */
{
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            cin >> matrix[j][i];
        }
    cout << endl;
}
 
void print_matrix(int** matrix, int size) //вывод матрицы
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            cout << matrix[j][i] << " ";
        }
        cout << endl;
    }
}
 
 
void Swap(int** matrix, int size,int m,int n)
    /*
    перестановка столбцов матрицы
    вход: матрица, ее размер, номера столбцов
    
    */
{
    int* temp2 = matrix[n];
    matrix[n] = matrix[m];
    matrix[m] = temp2;
 
}
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
21.04.2013, 19:47     Как в матрице поменять местами столбцы? #5
Например, так

C++
1
2
3
4
5
6
    for(i = 0; i < M; i++)
    {
        int temp = a[0][i];
        a[0][j] = a[1][j];
        a[1][j] = temp;
    }
Yandex
Объявления
21.04.2013, 19:47     Как в матрице поменять местами столбцы?
Ответ Создать тему
Опции темы

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