drunkenpenguin
17-08-2010, 12:34
ho il seguente codice, che dovrebbe calcolare la somma massima delle diagonali di una matrice
#include <iostream>
#define RANGO 4
using namespace std;
int massimoDiagonali(const int matrice[][RANGO]);
int main(){
int matrice[RANGO][RANGO],i,j,x;
cout<<"inserire i numeri della matrice"<<endl;
for(i=0;i<RANGO;i++){
for(j=0;j<RANGO;j++){
x=0;
cin>>x;
matrice[i][j]=x;
}
}
cout<<"la somma massima della matrice è "<<massimoDiagonali(matrice)<<endl<<endl;
return 0;
}
int massimoDiagonali(const int mat[][RANGO]){
int mat[RANGO][RANGO];
int rk=4, z=0,k,max=0, somma=0;
for(k=0; k<=rk; k++){
while(k>=0){
somma+=mat[k][z];
k--;
z++;
}
if(somma>max) max=somma;
}
for(z=0; z<=rk; z++){
while(z>=0){
somma+=mat[k][z];
z--;
k++;
}
if(somma>max) max=somma;
}
return max;
}
il problema è che quando vado a compilare, escono svariati errori(in realtà mi sa' che sono 4 di cui 2 si ripetono).
Li postosommaDiagonale.cpp:9: error: ‘::main’ must return ‘int’
sommaDiagonale.cpp: In function ‘int main()’:
sommaDiagonale.cpp:19: error: ‘matrice’ was not declared in this scope
sommaDiagonale.cpp:22: error: ‘matrice’ was not declared in this scope
sommaDiagonale.cpp: In function ‘void massimoDiagonali(const int (*)[4])’:
sommaDiagonale.cpp:29: error: declaration of ‘int matrice [4][4]’ shadows a parameter
sommaDiagonale.cpp:35: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:39: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:44: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:48: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:50: error: return-statement with a value, in function returning 'void'
Qualcuno saprebbe spiegarmi dove sbaglio?:cry:
#include <iostream>
#define RANGO 4
using namespace std;
int massimoDiagonali(const int matrice[][RANGO]);
int main(){
int matrice[RANGO][RANGO],i,j,x;
cout<<"inserire i numeri della matrice"<<endl;
for(i=0;i<RANGO;i++){
for(j=0;j<RANGO;j++){
x=0;
cin>>x;
matrice[i][j]=x;
}
}
cout<<"la somma massima della matrice è "<<massimoDiagonali(matrice)<<endl<<endl;
return 0;
}
int massimoDiagonali(const int mat[][RANGO]){
int mat[RANGO][RANGO];
int rk=4, z=0,k,max=0, somma=0;
for(k=0; k<=rk; k++){
while(k>=0){
somma+=mat[k][z];
k--;
z++;
}
if(somma>max) max=somma;
}
for(z=0; z<=rk; z++){
while(z>=0){
somma+=mat[k][z];
z--;
k++;
}
if(somma>max) max=somma;
}
return max;
}
il problema è che quando vado a compilare, escono svariati errori(in realtà mi sa' che sono 4 di cui 2 si ripetono).
Li postosommaDiagonale.cpp:9: error: ‘::main’ must return ‘int’
sommaDiagonale.cpp: In function ‘int main()’:
sommaDiagonale.cpp:19: error: ‘matrice’ was not declared in this scope
sommaDiagonale.cpp:22: error: ‘matrice’ was not declared in this scope
sommaDiagonale.cpp: In function ‘void massimoDiagonali(const int (*)[4])’:
sommaDiagonale.cpp:29: error: declaration of ‘int matrice [4][4]’ shadows a parameter
sommaDiagonale.cpp:35: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:39: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:44: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:48: error: ‘somma’ was not declared in this scope
sommaDiagonale.cpp:50: error: return-statement with a value, in function returning 'void'
Qualcuno saprebbe spiegarmi dove sbaglio?:cry: