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

Поменять местами 1 строку со второй 3-ю с 4-ой - C++

Восстановить пароль Регистрация
 
lastProg
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 22
14.12.2012, 21:58     Поменять местами 1 строку со второй 3-ю с 4-ой #1
вот такой код. мне надо поменять местами 1 строку со второй 3-ю с 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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    int i=0, j=0;
    
    int mas[4][4];
    cout<<"vvedite 16 4isel: "<<endl;
    for(i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
        {
    cin>>mas[i][j];
        }
    }
    
    for(i=0; i<4; i++)
    {
        cout<<"\n";
        for(j=0; j<4; j++)
            cout<<" "<<mas[i][j];//vivod na4alnogo masiva
 
    }
getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 21:58     Поменять местами 1 строку со второй 3-ю с 4-ой
Посмотрите здесь:

Поменять местами строку с максимальный элемент и строку с минимальным элементом матрицы C++
Поменять местами первую строку и строку сумма элементов которой минимальна C++
C++ В заданной числовой вещественной матрице размерности N*N поменять местами K-ую строку и L-ую строку
C++ Поменять в массиве местами строку с наибольшим и строку с наименьшим количеством различных элементов
Найти строку матрицы с максимальным нечетным элементом поменять эту строку местами с нулевой строкой C++
Поменять местами первую строку матрицы и строку, содержащую максимальный отрицательный элемент C++
C++ В матрице поменять местами первую строку и строку содержащую максимальный отрицательный элемент
Поменять местами столбец L и строку K местами квадратной матрицы 4х4 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
15.12.2012, 07:02     Поменять местами 1 строку со второй 3-ю с 4-ой #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
#include <iostream>
#include <conio.h>
using namespace std;
 
const int N=6;
 
 
//Вывод на экран массива
void prnt(int (*M)[N][N],const int &N)
{
     for (int i=0;i<N;i++)
     {
         for (int j=0;j<N;j++)
         {
             cout<<(*M)[i][j]<<" ";
         }
         cout<<endl;
     }
}
 
int main()
{
    int i=0, j=0;
    const int N=6;
    
    int mas[N][N]={         //Наш массив
        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
    };
    
    prnt(&mas,N); //Выводим на экран
 
    //============================
             /*  САМОЕ ГЛАВНОЕ */
    int step=0,temp=0;    
    for (int i=0;i<N*N;i++)
    {
        step++;
        if (step<N+1)
        {
            temp=mas[0][i];
            mas[0][i]=mas[0][i+N];
            mas[0][i+N]=temp;
        }
        else if (step==N*2) step=0;
    }
      //============================
 
cout<<endl;
prnt(&mas,N);
 
    return 0;
}
Если число колонок и строк могут различаться, то можно так
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
#include <iostream>
#include <conio.h>
using namespace std;
 
const int N=6;
const int K=7;
 
 
//Вывод на экран массива
void prnt(int (*M)[N][K])
{
     for (int i=0;i<N;i++)
     {
         for (int j=0;j<K;j++)
         {
             cout<<(*M)[i][j]<<" ";
         }
         cout<<endl;
     }
}
 
int main()
{
    int i=0, j=0;
    
    int mas[N][K]={         //Наш массив
        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
    };
    
    prnt(&mas); //Выводим на экран
 
    
    //============================
             /*  САМОЕ ГЛАВНОЕ */
    int step=0,temp=0;    
    
    for (int i=0;i<N;i+=2)
    {
        for (int j=0;j<K;j++)
        {
            temp=mas[i][j];
            mas[i][j]=mas[i+1][j];
            mas[i+1][j]=temp;
        }
    }
          //============================
cout<<endl;
prnt(&mas);  //Выводим на экран
 
    return 0;
}
Yandex
Объявления
15.12.2012, 07:02     Поменять местами 1 строку со второй 3-ю с 4-ой
Ответ Создать тему
Опции темы

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