Esercizio somma righe della matrice

di il
5 risposte

Esercizio somma righe della matrice

Buongiorno a tutti,ho fatto un esercizio dove devo trovare la somma delle righe di una matrice 3x3:
#include<stdio.h>
#include<stdlib.h>

main()
{
      int m[3][3];
      int i,j;
      int s=0;
      int so=0;
      int som=0;
      printf("inserisci i 9 numeri per completare il quadrato magico:\n");
      for(i=0;i<3;i++){
                        for(j=0;j<3;j++){
                                         scanf("%d",&m[i][j]);
                                         }
                                         }
                                         for(i=0;i<3;i++){
                                                          j=0;
                                                          s=s+m[i][j];
                                                          }
                                                          printf("somma prima riga:%d",s);
                                         
questa è la somma della prima riga fatta senza difficoltà , ora però dovrei trovare la somma delle altre 2 e sto pensando se è possibile evitare di riscrivere gli altri 2 for anche perchè se la matrice fosse stato NxM(quindi l utente doveva scegliere la dimensione) non si sarebbe potuto svolgere con questo "metodo", ci sto pensando ma non mi viene nulla in mente anche se so che alla fine la soluzione è più facile di quanto pensi ...grazie mille in anticipo

5 Risposte

  • Re: Esercizio somma righe della matrice

    Ti bastano due for uno nell'altro, come per l'input.
  • Re: Esercizio somma righe della matrice

    oregon ha scritto:


    Ti bastano due for uno nell'altro, come per l'input.
    ho provato a fare così basandomi su quello che mi hai detto :
    for(i=0;i<3;i++){
                                                              for(j=0;j<3;j++){
                                                              
                                                              
                                                              s=s+m[i][j];
                                                              printf(" somma %d riga : %d",i,s);
                                                              }
                                                              }
    però in questo modo mi fa vedere anche quando somma per i primi due numeri(quando i=0 e j=0 per esempio) , non riesco a farlo dentro un solo for, non riesco a capire il procedimento , ora ci provo a pensare ancora un po su
  • Re: Esercizio somma righe della matrice

    oregon ha scritto:


    Ti bastano due for uno nell'altro, come per l'input.
    finalmente risolto !:
     for(i=0;i<3;i++){
                                                              for(j=0;j<3;j++){
                                                              
                                                              s=s+m[i][j];
                                                              
                                                              }
                                                              printf("somma  riga:%d",s);
                                                              s=0;
                                                              }
    grazie mille ancora, buona giornata
  • Re: Esercizio somma righe della matrice

    Devi azzerare s tra i due for

    E' meglio
    
    for(i=0;i<3;i++)
    {
        for(j=0, s=0;j<3;j++)
            s += m[i][j];
    
        printf("somma  riga:%d",s);
    }
    
  • Re: Esercizio somma righe della matrice

    oregon ha scritto:


    Devi azzerare s tra i due for

    E' meglio
    
    for(i=0;i<3;i++)
    {
        for(j=0, s=0;j<3;j++)
            s += m[i][j];
    
        printf("somma  riga:%d",s);
    }
    
    vero, il tuo è molto più semplice ,
Devi accedere o registrarti per scrivere nel forum
5 risposte