Esercizio sulle Matrici

di il
2 risposte

Esercizio sulle Matrici

Raga qst programma dovrebbe dirmi se prendendo come indice di righe il primo numero dell'array A e colonne il primo numero dell'array B la sottomatrice 3x3 di M ha somma pari. Però non stampa nulla.... Si limita a farmi inserire array e matrice.. Perchè??
#include<iostream>

using namespace std;

void riempiArray(int []);
void riempiMatrice(int [][6]);
bool verifica(int [],int [], int[][6]);

int main () {
	int a[3];
	int b[3];
	int M[6][6];
	riempiArray(a);
	riempiArray(b);
	riempiMatrice(M);
	if (verifica(a,b,M))
	cout<<"La matrice soddisfa la proprietà";
	else
	cout<<"La matrice non soddisfa la proprietà";
	return 0;
}


void riempiArray (int A[]){
	for (int i=0;i<3;i++)
	cin>>A[i];
}

void riempiMatrice(int M[][6]){
	for (int i=0;i<6;i++)
	for (int j=0;j<6;j++)
	cin>>M[i][j];
}

bool verifica (int A[], int B[], int M[][6]) {
	int somma=0;
	for (int i=0;i<3;i++) {
		int a=A[i];
		int maxA=a+3;
		int b=B[i];
		int maxB=b+3;
		for (;a<maxA;a++) {
			for (;b<maxB;a++) 
			somma=somma+M[a][b];
		}
		if (somma%2==1)
		return false;
	}
	return true;
}
	

2 Risposte

  • Re: Esercizio sulle Matrici

    Quando fai la if non è ke devi mettere ==true????
    if (verifica(a,b,M)==true)
    cout << "soddisfa" << endl;
    else
    cout << "non soddisfa" << endl;
  • Re: Esercizio sulle Matrici

    Il problema è indubbiamente nella funzione verifica... solo che non ho capito cosa deve fare.

    niko++ ha scritto:


    quando fai la if non è ke devi mettere ==true????
    
    if (verifica(a,b,M)==true)
    cout << "soddisfa" << endl;
    else
    cout << "non soddisfa" << endl;
    
    Non è necessario
Devi accedere o registrarti per scrivere nel forum
2 risposte