Sopradiagonali

di il
1 risposte

Sopradiagonali

Salve a tutti! vorrei sapere come potermi riferire alla sopradiagonale y-esima di una matrice.
la mia idea era questa:
for(int i=0,i<n-y;i++){
for(int j=y;j<n;j++){

ma non funziona... qualcuno sa dirmi l'errore nei cicli dov'è e come questi devono essere trattati? grazie a chi risponderà ! (ps. studio ingegneria, quindi il livello richiesto è molto basso)

1 Risposte

  • Re: Sopradiagonali

    Intendevi questo?
    
    int main()
    {
        int mat[MATRICE][MATRICE];
        //azzero;
        int x,y,xy;
        for (y = 0;y < MATRICE ;y++)
            for (x = 0;x < MATRICE ;x++)
                mat[y][x] = 0;
    
        //diagonale
        for (xy = 0;xy < MATRICE ;xy++)
            mat[xy][xy] = 1;
    
        //sopradiagonale y - n
        int n = 1;
    
        for (x = 0,y = 0 - n; x < MATRICE ; x++,y++)
        {
            if ( y >= 0)
                mat[y][x] = 2;
        }
    
        //sopradiagonale x + n
        n = 2;
        for (x = 0 + n,y = 0; x < MATRICE ; x++,y++)
        {
            if ( x >= 0)
                mat[y][x] = 3;
        }
    
    
        for (y = 0;y < MATRICE ;y++)
        {
            for (x = 0;x < MATRICE ;x++)
            {
                printf("%d\t",mat[y][x]);
            }
            printf("\n");
        }
    
        return 0;
    }
    
    
Devi accedere o registrarti per scrivere nel forum
1 risposte