Elenet.net
+1 voto
Prof ho questo programma scritto in c++ ma vorrei fare una cosa che non so se si possa fare o meno:

#include <iostream>

using namespace std;

void caricamatrici(float matrice[3][3]);
void scambia (float &x, float &y);
void cambiavalori (float matricea[3][3], float matriceb[3][3]  );

int main(int argc, char** argv)
{
    float x[3][3];
    float y[3][3];
    caricamatrici(x);
    
    
         for (int i=0; i<3; i++){
        cout << endl;
        for(int j=0; j<3; j++){
            cout <<"|" << x[i][j];
        }
    }
    caricamatrici(y);
    for (int i=0; i<3; i++){
        cout << endl;
        for(int j=0; j<3; j++){
            cout <<"|" << y[i][j];
        }
    }
    cambiavalori (x,y);
    
    return 0;
}

void scambia (float &x, float &y)
{
    float t;
    t=x;
    x=y;
    y=t;
    cout << endl;
    cout << t;
    }

void caricamatrici(float matrice[3][3])
{
    int i,j;
    for (i=0; i<3; i++){
        cout << endl;
        for (j=0; j<3; j++){
            cout << "inserisci elemento ";
            cin >> matrice[i][j];
        }
    }
}

void cambiavalori (float matricea[3][3], float matriceb[3][3]  )
{
    int i, j;
    for ( i=0; i<3; i++)
    {
        for (j=2; j>=0; j--)
        {
           scambia(matricea[i][j], matriceb[i][j]);    
            }
        
        
        
        }
     
    
    
    
    
    
    }

Quando vado a stampare il contenuto di t passato per indirizzo, i valori di t vengono stampati 1 sotto l'altro.

Come posso fare a stamparli come matrice? Si può fare grazie.
quesito posto 18 Marzo 2017 in Classe terza da Paolo Migliarba (31 punti)
  

3 Risposte

+1 voto
l'ha risolto la prof. Guccione
risposta inviata 20 Marzo 2017 da nicolo' guarino Esperto (687 punti)
0 voti
se occorre scambiare l'ultima colonna della seconda matrice con la prima colonna della prima matrice, la penultima colonna della seconda matrice con la seconda colonna della prima , occorre aiutarsi con una tabella della verità , comunque più tardi ti dò la soluzione
risposta inviata 22 Marzo 2017 da nicolo' guarino Esperto (687 punti)
0 voti
eccoti l'esercizio scambia colonne

#include <iostream>

using namespace std;

void caricamatrici(float matrice[3][3]);
void scambia (float &x, float &y);
void cambiavalori (float matricea[3][3], float matriceb[3][3]  );

void stampa_matrice (float matrice[3][3] );

int main(int argc, char** argv)
{
    float x[3][3];
    float y[3][3];
    cout<<" carica la matrice x \n \n ";
    caricamatrici(x);
    cout<<"\n \n matrice x caricata stampa di x \n \n ";
    stampa_matrice (x);
            cout<<" carica la matrice y \n \n ";
    caricamatrici(y);
    cout<<"\n \n matrice y caricata stampa di x \n \n ";
    stampa_matrice (y);
       
    cambiavalori (x,y);
    cout<<" \n \n dopo lo scambio abbiamo che la matrice x = \n \n ";
    stampa_matrice (x);
    
    cout<<" \n \n dopo lo scambio abbiamo che la matrice y = \n \n ";
    stampa_matrice (y);
    
    
    return 0;
}

void stampa_matrice (float matrice[3][3])
{
    cout <<" \n \n  ";
     for (int i=0; i<3; i++){
        cout << "\n";
        for(int j=0; j<3; j++)
        {
            cout <<"|" << matrice[i][j];
        }
    }
    cout <<" \n \n  ";
        
    }
void scambia (float &x, float &y)
{
    float t;
    t=x;
    x=y;
    y=t;
   
    }

void caricamatrici(float matrice[3][3])
{
    int i,j;
    for (i=0; i<3; i++){
        cout << endl;
        for (j=0; j<3; j++){
            cout << "inserisci elemento ";
            cin >> matrice[i][j];
        }
    }
}

void cambiavalori (float matricea[3][3], float matriceb[3][3]  )
{
    int riga, colonna, k, numeroscambi;
    riga =0;
    colonna=0;
      int ultimo =2;
      for (numeroscambi=0; numeroscambi<=2; numeroscambi++)
      {
    for (riga=0; riga<3; riga++)
    {
          
            scambia (matricea[riga][colonna] , matriceb[riga][ultimo]);
            
            
         }
             colonna= colonna + 1;  
            ultimo = ultimo - 1;
       }
           
       }
risposta inviata 22 Marzo 2017 da nicolo' guarino Esperto (687 punti)

Domande correlate

+2 voti
2 risposte
quesito posto 18 Marzo 2017 in Classe terza da Paolo Migliarba (31 punti) | 197 visite
+1 voto
1 risposta
+1 voto
1 risposta
quesito posto 22 Marzo 2017 in Classe terza da Paolo Migliarba (31 punti) | 155 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti