Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    [C]urgente, spostarsi sulla diagonale di una matrice

    Ragazzi, stò impanicato..domani esame (oggi già mi si sono inchiappati l'ennesima volta ad analisi e vorrei evitare anche con prog...)

    non mi ricordo più come ci si sposta sulla dagonale di una matrice NxN

    cioè ho tipo una matrice 3X3 contenente dei numeri e fare la somma dei valori contenuti sulla diagonale...qualcuno mi aiuta?mi illuminate con un po' di codice?

    Grazie
    Andrea

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Capisco la tua urgenza, ma evita di scriverla ripetutamente
    nel titolo della discussione in quanto tutti i problemi, qui, hanno la stessa priorità.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    41
    Ciao ... basta fare un for ( o un while o cosa preferisci)
    cosi:


    int main()
    {
    int mat[3,3];
    int i;

    for (i=0;i<3;i++)
    mat[i,i];

    }

    se usi lo stesso indice sia per le colonne che per le righe
    ottieni esattamente la diagonale

    _____1___2___3

    __1__x

    __2______x

    __3___________x


    vedi che la diagonale ha esattamente lo stesso indice sia nelle colonne che nelle righe?

    ciaooo

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127
    altrimenti, un pò un giro a lungo ....
    puoi usare due cicli iterativi ed un if

    tipo se hai una matrice nxn con n=5

    somma=0;
    for(i=0;i<5;i++)
    for(j=0;j<5;j++)
    if(i==j)
    somma=somma+A[i,j]

    comunque sotto tutti i punti di vista meglio la versione con solo ciclo e consideri la matrice A[i,i]


  5. #5
    Originariamente inviato da tulkas85
    altrimenti, un pò un giro a lungo ....
    puoi usare due cicli iterativi ed un if

    tipo se hai una matrice nxn con n=5

    somma=0;
    for(i=0;i<5;i++)
    for(j=0;j<5;j++)
    if(i==j)
    somma=somma+A[i,j]

    comunque sotto tutti i punti di vista meglio la versione con solo ciclo e consideri la matrice A[i,i]

    A suo tempo il professore ci disse: se fate una cosa così vi boccio!
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da unomichisiada
    A suo tempo il professore ci disse: se fate una cosa così vi boccio!
    Sono d'accordo con il tuo professore ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127
    comunque sotto tutti i punti di vista meglio la versione con solo ciclo e consideri la matrice A[i,i]

    VVoVe: era x variare un pò, cmq meglio l'altro modo indubbiamente

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 © 2025 vBulletin Solutions, Inc. All rights reserved.