Salve a tutti. Sono alle prime armi con C++ e ho trovato difficolta' in questo esercizio:
"Scrivere un metodo che prenda in input un parametro formale matrice A di interi
di dimensioni nxn ed un double w, e restituisca un valore booleano true se esiste
almeno una colonna della matrice A per cui il rapporto tra la somma degli elementi
della colonna stessa e la somma degli elementi della diagonale principale di A sia
maggiore di w."
Di seguito vi allego il codice che son riuscito a fare fin ora:
#include <iostream>
#include <cstdlib>
#define n 5
using namespace std;
bool esercizio(int A[][n], double w)
{
int colum[n];
int diagonale=0;
int somma_colonna=0;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
if(i==j)
diagonale+=A[i][j];
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
somma_colonna+=A[j][i];
if((somma_colonna/diagonale)>w)
return true;
}
}
return false;
}
int main()
{
return 0;
}
Il problema e' che non riesco a sommare soltanto una colonna, perche' cosi come e' scritto somma tutte le colonne e non una alla volta.
Se qualcuno e' disposto a darmi un suggerimento lo ringrazierei molto