👤

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (1<=n<=6) şi elementele unui tablou bidimensional A cu n linii şi n coloane, care memorează numere naturale mai mici decât 100, şi afişează pe ecran (dacă există), separate prin câte un spaţiu, elementele din matrice care au proprietatea că sunt egale cu produsul celorlalte elemente aflate pe aceeaşi coloană. Exemplu: pentru matricea din figura alăturată se afişează, nu neapărat în această ordine, valorile 10 22(10=1*5*2*1 ; 22=1*11*2*1).
1 1 5 10 2
6 11 1 1 4
6 2 5 5 3
1 22 12 2 10
16 1 7 1 8


Răspuns :

#include <iostream>

using namespace std;
int mat[6][6],i,j,n,P=1,l;
bool verific(int a,int e)
{
    P=1;
    for(l=1;l<=n;l++)
        if(mat[l][e]!=a)
        P=P*mat[l][e];
    if(P==a)
        return true;
    else
        return false;
}
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
         cin>>mat[i][j];
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            if(verific(mat[i][j],j))
            cout<<mat[i][j]<<" ";

    return 0;
}