Elenet.net
+2 voti
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)
  

2 Risposte

+1 voto
Risposta migliore
#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 <<" stampa la matrice \n \n ";
     for (int i=0; i<3; i++){
        cout << "\n";
        for(int j=0; j<3; j++)
        {
            cout <<"|" << matrice[i][j];
        }
    }
    cout <<" **************** MATRICE STAMPATA *************** \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 i, j;
    for ( i=0; i<3; i++)
    {
        for (j=2; j>=0; j--)
        {
           scambia(matricea[i][j], matriceb[i][j]);    
            }
        
        
        
        }
     
    
    
    
    
    
    }

DEVI INSERIRE UN' ALTRA FUNZIONE E SISTEMARLA COME SCRITTO SOPRA
risposta inviata 20 Marzo 2017 da Laura Guccione Corsista (149 punti)
Selezionata 21 Marzo 2017 da Paolo Migliarba
Grazie mille
+1 voto
L'errore sta nell'aver inserito la variabile t dentro la funzione scambia, e poi l'esercizio corretto l'ha fatto la prof. Guccione
risposta inviata 20 Marzo 2017 da nicolo' guarino Esperto (687 punti)

Domande correlate

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