Salve a tutti,
ho un problema con un esercizio, questa è la consegna:
Scrivere un programma C++ che legga da tastiera una matrice 8×8 di interi
• Il programma dovrà stampare a video la matrice
• Calcoli e memorizzi in un vettore di 8 elementi la somma degli elementi di
ciascuna colonna della matrice: la somma degli elementi della prima colonna,
nel primo elemento del vettore, la somma degli elementi della seconda
colonna nel secondo elemento del vettore, etc.
• Stampi a video il vettore calcolato nel punto precedente
• Verifichi se esistono esattamente due colonne la cui somma degli elementi è
uguale a 100. In caso affermativo il programma deve stampi “somma uguale a
100”; in caso negativo “condizione non soddisfatta”
ho diviso il programma in 3 sottoprogrammi, per la lettura e la stampa della matrice, ed uno che calcola la somma delle colonne e le inserisce in un vettore, tuttavia quando chiamo il terzo sottoprogramma dal main, il compilatore segnala un errore che non comprendo: "invalid conversion from int to int. allego il mio codice sorgente
#include <iostream>
// Scrivere un programma C++ che legga da tastiera una matrice 8×8 di interi
//• Il programma dovrà stampare a video la matrice
//• Calcoli e memorizzi in un vettore di 8 elementi la somma degli elementi di
//ciascuna colonna della matrice: la somma degli elementi della prima colonna,
//nel primo elemento del vettore, la somma degli elementi della seconda
//colonna nel secondo elemento del vettore, etc.
//• Stampi a video il vettore calcolato nel punto precedente
//• Verifichi se esistono esattamente due colonne la cui somma degli elementi è
//uguale a 100. In caso affermativo il programma deve stampi “somma uguale a
//100”; in caso negativo “condizione non soddisfatta”
using namespace std;
const int N = 2;
const int M = 2;
//sottoprogramma per inserire i valori della matrice
void leggiMatrice(int array [N][N])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
cout<<"inserisci valore"<<endl;
cin>> array [i][j];
}
}
}
//sottoprogramma che stampa la matrice
void stampa(int array[N][N])
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
std::cout << "array[" << i << "][" << j << "] = " << array[i][j] << std::endl;
}
}
}
//sottoprogramma che calcola la somma degli elementi delle colonne della matrice e la scrive nel vettore
void scrivisomma(int array[N][M], int array2[M])
{
int i,j,somma=0;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
somma += array[j][i];
array2 [i]=somma;
}
}
}
int main()
{
int i,j;
int matricebase[N][M];
int sommacolonne [M];
leggiMatrice(matricebase);
stampa(matricebase);
//qui riscontro il problema
scrivisomma(matricebase[N][M],sommacolonne[M]);
ringrazio anticipatamente chiunque potrà darmi un aiuto.