Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    13

    [C++] Matrice: confronto somma colonne e somma diagonale

    Salve a tutti, volevo fare programma c++ che confronta la somma della diagonale principale di una matrice con le somme di tutte le colonne, riportando poi il numero delle colonne la cui somma è uguale alla somma della diagonale.

    sdp = somma diagonale principale
    sc= vettore contenente le somma delle colonne
    nc=numero di colonne la cui somma è uguale a quella della diagonale.


    codice:
    void Numcolonne_somma(int x[][3], int n)
    {
    	int sdp = 0; int sc[n]; int nc = 0;
    	for (int i = 0; i < n; i++)
    	for (int j = 0; j < n; j++)
    	{
    		if (i == j)
    		{
    			sdp = sdp + x[i][j];
    		}
    	}
    	for (int j = 0; j < n; j++)
    	{
    		sc[j] = 0;
    		for (int i = 0; i < n; i++)
    			sc[j] = sc[j] + x[i][j];
    		if (sc[j] == sdp)
    			nc++;
    	}
    	cout << "Numero di colonne uguali= " << nc << endl;
    }
    Apparentemente funziona e l'ho anche provato, però dice il mio professore che fa schifo, quindi volevo dei consigli su come migliorarlo.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Già ti è stato detto che per la diagonale principale basta un solo for ... perché ripeti l'errore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    13
    Se apparte quello niente allora meglio di così non va:
    codice:
    voidNumcolonne_somma(int x[][3],int n){
    int sdp =0;int sc[n];int nc =0;
    for (int i=0; i < n-1; i++)
    {
    sdp = sdp + x[i][i];
    }
    for(int j =0; j < n; j++)
    {
    sc[j]=0;
    for(int i =0; i < n; i++)
    sc[j]= sc[j]+ x[i][j];
    if(sc[j]== sdp)
    nc++;
    }
    cout <<"Numero di colonne uguali= "<< nc << endl;
    }
    Ultima modifica di Redix123; 28-05-2014 a 22:35

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.