Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di cles
    Registrato dal
    Mar 2010
    Messaggi
    25

    [C] sommare elementi array multi

    Ho un problema con gli array multi,devo leggere un vettore 5x5 di interi e poi sommare le righe e le colonne con output somma righe: . . . . .somma colonne:. . . . .
    ho iniziato il codice così:
    codice:
    #include <stdio.h>
    
    #define N 5
    
    int main()
    {
    	int griglia[N][N],a,b,c=1;
    
    	for(a=0;a<N;a++){
    		printf("Immetti cinque numeri per la colonna %d : ",c);
    		c++;
    		for(b=0;b<N;b++)
    			scanf(" %d",&griglia[a][b]);
    	}
    	
    	return 0;
    }
    ma non riesco a capire come fare a sommare le righe e le colonne.
    Qualcuno potrebbe darmi almeno un indizio per proseguire?
    grazie

  2. #2
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    bhè...innanzitutto una piccola precisazione....la variabile c non penso servi a molto...in quanto puoi cambiare la riga della printf così:
    codice:
    printf("Immetti cinque numeri per la colonna %d : ",a+1);
    e poi per quanto riguarda la somma delle righe e delle colonne...non ho capito se devi fare la somma di tutte le righe e la somma di tutte le colonne...che sarebbero uguali ovviamente!!
    Esempio matrice 3x3:
    3 1 1
    1 0 0
    2 1 0
    Somma righe = 9
    Somma colonne = 9
    è così oppure ho capito male io??
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  3. #3
    Utente di HTML.it L'avatar di cles
    Registrato dal
    Mar 2010
    Messaggi
    25
    Grazie per la precisazione della variabile c.
    Devo fare le somme in questo modo:
    1 1 1 1 1
    2 2 2 2 2
    3 4 4 4 4
    2 3 3 2 1
    5 5 6 6 7

    il risultato è:
    righe: 5 10 19 11 29
    colonne: 13 15 16 15 15

  4. #4
    Utente di HTML.it L'avatar di cles
    Registrato dal
    Mar 2010
    Messaggi
    25
    ok,la notte ha portato consiglio,ci sono riuscito.
    Penso sia un pò troppo complicato e credo si possa semplificare e migliorare.Dato che mi piacerebbe imparare bene,qualcuno saprebbe dirmi dove dovrei semplificare il codice e come?grazie
    codice:
    #include <stdio.h>
    
    #define N 5
    
    int main()
    {
    	int griglia[N][N],a,b;
    	int somr[N]={0},c;
    	int somc[N]={0},d;
    
    	for(a=0;a<N;a++){
    		printf("Immetti cinque numeri per la colonna %d : ",a+1);
    		for(b=0;b<N;b++)
    			scanf(" %d",&griglia[a][b]);
    	}
    	for(c=0,a=0;c<N;c++,a++)
    		for(b=0;b<N;b++)
    			somr[c] += griglia[a][b];
    	for(d=0,b=0;d<N;d++,b++)
    		for(a=0;a<N;a++)
    			somc[d] += griglia[a][b];
    
    	for(c=0;c<N;c++)
    		printf("%d ",somr[c]);
    	printf("\n");
    	for(d=0;d<N;d++)
    		printf("%d ",somc[d]);
    
    	return 0;
    }

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.