Control C401C P27526


Statement
 

pdf   zip

html

Feu un programa que comenci llegint i escrivint una matriu d’enters n × m. A continuació, per a cada parell de naturals j i k donats, cal escriure la matriu anterior amb les columnes j i k intercanviades. Les columnes es numeren des de 0 fins a m − 1.

Utilitzant la definició

typedef vector<vector<int> > Matriu;

el vostre programa ha d’implementar i usar la funció

void intercanvia(Matriu& mat, int j, int k);

que, donada la matriu |mat| i els naturals j i k, intercanvia les columnes j i k de |mat|. Els índexos j i k sempre estaran entre 0 i el nombre de columnes de |mat| menys u.

Entrada

L’entrada comença amb les dimensions n > 0 i m > 0 de la matriu, seguides de n línies amb m elements cadascuna, seguides d’una seqüència de parells j, k. Cada j i cada k es troba entre 0 i m − 1.

Sortida

Cal escriure la seqüència de matrius composta per la matriu llegida, seguida de la matriu resultat de cada intercanvi. Fixeu-vos que cal escriure línies amb cinc guions per separar les matrius, així com al principi i al final.

Public test cases
  • Input

    4  6
    11 22 33 46 15 32
    41 33 94 58 71 32
    56 23 45 98 21 12
    54 15 37 26 17 99
    
    2 3
    5 4
    0 1
    5 4
    

    Output

    -----
    11 22 33 46 15 32
    41 33 94 58 71 32
    56 23 45 98 21 12
    54 15 37 26 17 99
    -----
    11 22 46 33 15 32
    41 33 58 94 71 32
    56 23 98 45 21 12
    54 15 26 37 17 99
    -----
    11 22 46 33 32 15
    41 33 58 94 32 71
    56 23 98 45 12 21
    54 15 26 37 99 17
    -----
    22 11 46 33 32 15
    33 41 58 94 32 71
    23 56 98 45 12 21
    15 54 26 37 99 17
    -----
    22 11 46 33 15 32
    33 41 58 94 71 32
    23 56 98 45 21 12
    15 54 26 37 17 99
    -----
    
  • Input

    3 4
    1 0 1 1
    0 2 0 3
    1 1 9 5
    

    Output

    -----
    1 0 1 1
    0 2 0 3
    1 1 9 5
    -----
    
  • Input

    2 2
    6 7
    8 9
    
    0 1
    1 0
    0 0
    1 1
    

    Output

    -----
    6 7
    8 9
    -----
    7 6
    9 8
    -----
    6 7
    8 9
    -----
    6 7
    8 9
    -----
    6 7
    8 9
    -----
    
  • Input

    2 1
    7
    9
    
    0 0
    0 0
    

    Output

    -----
    7
    9
    -----
    7
    9
    -----
    7
    9
    -----
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++