Vincenzo Santopietro
Nuovo Utente
- Messaggi
- 6
- Reazioni
- 0
- Punteggio
- 24
Salve a tutti,ho riscontrato questo problema e ci sto su da ore ma senza mai riuscire a trovare un errore che mi risolva il tutto.
la traccia è questa:
Sviluppare una function C che, dati come parametri di input un array 2D di interi, il
numero delle righe e il numero delle colonne, determina e restituisce come parametro di
output il massimo tra le somme degli elementi di ogni colonna.
Ad esempio avendo una matrice
1 2
1 2 il massimo deve risultare 4..(2+2).
il mio codice è il seguente:
#include <stdio.h>
#include <stdlib.h>
int maxsomma_col(int [][10],int,int);
int main()
{ int i,j,n,m,matrice[10][10];
printf("inserisci il numero di righe: ");
scanf("%d",&n);
printf("inserisci il numero di colonne: ");
scanf("%d",&m);
//riempimento
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("inserisci l'elemento di posto : %d %d ",i,j);
scanf("%d",&matrice[j]);
}
}
//visualizzo
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf(" %d ",matrice[j]);
}
printf("\n");}
printf("\n il massimo è = %d ",maxsomma_col(matrice,n,m));
}
int maxsomma_col(int matrice[][10],int n,int m)
{ int somma=0,i,j,max=0,tmp;
for(j=0; j<m; j++)
{somma=0;
for(i=0; i<n; i++)
{somma=somma+matrice[j];
if(somma >= max){
// scambiare(max,somma);
tmp = max;
max = somma;
somma = tmp;}
}}
return max;
}
Dove sbaglio?:(
la traccia è questa:
Sviluppare una function C che, dati come parametri di input un array 2D di interi, il
numero delle righe e il numero delle colonne, determina e restituisce come parametro di
output il massimo tra le somme degli elementi di ogni colonna.
Ad esempio avendo una matrice
1 2
1 2 il massimo deve risultare 4..(2+2).
il mio codice è il seguente:
#include <stdio.h>
#include <stdlib.h>
int maxsomma_col(int [][10],int,int);
int main()
{ int i,j,n,m,matrice[10][10];
printf("inserisci il numero di righe: ");
scanf("%d",&n);
printf("inserisci il numero di colonne: ");
scanf("%d",&m);
//riempimento
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("inserisci l'elemento di posto : %d %d ",i,j);
scanf("%d",&matrice[j]);
}
}
//visualizzo
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf(" %d ",matrice[j]);
}
printf("\n");}
printf("\n il massimo è = %d ",maxsomma_col(matrice,n,m));
}
int maxsomma_col(int matrice[][10],int n,int m)
{ int somma=0,i,j,max=0,tmp;
for(j=0; j<m; j++)
{somma=0;
for(i=0; i<n; i++)
{somma=somma+matrice[j];
if(somma >= max){
// scambiare(max,somma);
tmp = max;
max = somma;
somma = tmp;}
}}
return max;
}
Dove sbaglio?:(