Salve, potete aiutarmi con questo esercizio? Allego ciò che sono riuscita a fare, ma arrivata a un certo punto mi blocco e non so più come continuare
Si realizzino le seguenti funzioni:
1. sommeCrescenti che riceve una matrice A di dimensioni n*m, e due interi n ed m. e restituisce true se, per ogni riga, la somma degli elementi è minore della somma degli elementi della riga successiva, false altrimenti. Più formalmente, restituisce true se per ogni i appartenente all'intervallo [0, n-1], la somma degli elementi presenti sulla riga di indice i è minore della somma degli elementi presenti sulla riga di indice i+1, false altrimenti.
2. annullaDuplicati che riceve una matrice A di dimensioni n*m, e due interi n ed m, e restituisce una matrice M di uguali dimensioni. In particolare, l'elemento M
[j] sarà uguale a A[j] se il valore di A[j] non è presente in nessun altro elemento sulla colonna j di A; in caso contrario, M[j] sarà uguale a 0.
3. Un metodo main nel quale:
a. si crea una matrice di interi M di dimensioni n*m, con n ed m scelti a piacere;
b. si invocano opportunamente le funzioni definite ai punti 1 e 2 passando come input la matrice M e gli interi n ed m;
c. si stampano gli output delle funzioni invocate.
#include <iostream>
using namespace std;
bool sommeCrescenti (int** A, int n, int m)
{
for (int i=0; i<n; i++)
{
int somma = 0;
int somma_successiva = 0;
for (int j=0; j<m; j++)
{
somma += A[i][j];
somma_successiva += A[i+1][j];
}
if (somma > somma_successiva)
return false;
}
return true;
}
int** annullaDuplicati(int** A, int n, int m)
{
int** M = new int[n];
for (int i=0; i<n; i++)
M[i] = new int[m];
}