Elenet.net
+2 voti
Data una matrice scrivere un programma che faccia la trasposta di una matrice
quesito posto 14 Marzo 2017 in Classe terza da nicolo' guarino Esperto (687 punti)
  

3 Risposte

+1 voto
Posso scriverlo io siccome l'ho fatto in precedenza?
O Aspetto che scriva qualcuno?
risposta inviata 14 Marzo 2017 da ChiaraCarli Corsista (49 punti)
puoi scriverlo tu stessa
+1 voto

 

  • La matrice trasposta

Questa matrice permette lo scambio tra righe e colonne

Per esempio: 

Abbiamo la matrice M di due righe e tre colonne

M = 

abc
def


la trasposta di questa matrice è:

MT
ad
be
cf

Quindi è stato invertito il numero delle righe con quello delle colonne, da una matrice 2x3 a una matrice 3x2.
Esempio (programma C++):

#include <iostream>
using namespace std;

void Matrice (int matrice[][2]);
void trasposta (int matrice[][2], int tmatrice[][3]);
void Matr (int matrice[][3]);
void Mat (int matrice[][2]);

int main()
{                            
   int matrice[3][2];        
   int tmatrice[2][3];       

   Matrice (matrice);              
   Mat (matrice);                  
   trasposta (matrice, tmatrice);  
   Matr (tmatrice);               

  
   return 1;
}

void Matrice(int matrice[][2])      
{
   cout<< "Inserisci i valori nella matrice : " << " \n ";         
                                                             
   for (int i=0; i<3; i++)                                  
                                                             
      for (int j=0; j<2; j++)                                
      {                                                      
         cout<< " valore " << i <<"  "<< j <<" ->  ";        
         cin>> matrice[i][j];
      }
}

void trasposta (int matrice[][2], int tmatrice[][3]) 
{
   for (int a=0; a<2; a++)
   
      for (int i=0; i<3; i++)
      
         tmatrice[a][i] = matrice[i][a];      
}

void Matr (int matrice[][3])       
{
   cout<< " \n \n Visualizzazione della matrice trasposta : " <<" \n ";  
                                                                         
   for(int i=0; i<3; i++)                                                
   {                                                                     
      for(int j=0; j<2; j++)                                              
                                                                         
         cout<< matrice[j][i]<< " - ";                                   
                                                                         
        cout<<" \n ";
   }

}

void Mat (int matrice[][2])                                               
{
   cout<< " \n \n Visualizzazione della matrice normale : " <<" \n ";       
                                                                             
   for (int i=0; i<2; i++)                                                  
   {                                                                        
      for (int j=0;j<3;j++)                                                                                                                         
         cout<< matrice[j][i] << " - ";                                    
         
        cout<< " \n ";
   }

}

risposta inviata 15 Marzo 2017 da ChiaraCarli Corsista (49 punti)
+1 voto
OK - ADESSO SCRIVI UNA FUNZIONE CHE FACCIA RUOTARE LA MATRICE DI UN CERTO NUMERO DI VOLTE
risposta inviata 15 Marzo 2017 da nicolo' guarino Esperto (687 punti)

Domande correlate

0 voti
0 risposte
quesito posto 10 Marzo 2017 in Classe terza da nicolo' guarino Esperto (687 punti) | 62 visite
0 voti
0 risposte
quesito posto 10 Marzo 2017 in Classe terza da nicolo' guarino Esperto (687 punti) | 45 visite
+2 voti
2 risposte
quesito posto 25 Febbraio 2016 in Classe terza da francesco.catanzaro Corsista (89 punti) | 2,412 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti