Va rog frumos sa ma ajutati urgent ! Dau tot ce vreti !
SE da o matrice A cu n*n nr naturale sa se determine:
-Numarul elementelor palindrom din matrice
-Suma elementelor palindrom de pe diagonala principală a matricei
-Produsul elementelor palindrom de pe diagonala secundară a matricei
SE vor utiliza următoarele functii:
#functia palindrom care primeste ca parametru un număr natural x si returnează 0 (Dacă x nu e palindrom) si 1 Dacă e
#functia sun_pal_diag_p fara parametri.Fct returnează suma elementelor palindrom de pe pagina principala
#functia sum_pal_diag_s fara parametri.Fct returnează produsul elementelor palindrom d e pe diagonala secundară.
Programul utilizează variabile globale :n si matricea a
Răspunsuri la întrebare
#include<iostream>
using namespace std;
int n,a[30][30];
int palindrom(int x)
{ int oglindit=0,k=x;
while(x)
{ oglindit=oglindit*10+x%10;
x=x/10;
}
if(k==oglindit)
return 1;
return 0;
}
long sum_pal_diag_p()
{
int i; long s=0;
for(i=0;i<n;i++) if(palindrom(a[i][i]==1) s=s+a[i][i];
return s;
}
long prod_pal_diag_s()
{
int i; long p=1;
for(i=0;i<n;i++) if(palindrom(a[i][n-i-1]==1) p=p*a[i][i];
return p;
}
int main()
{ cin>>n;
for(int i=0;i<n;i++)
for( int j=0;j<n;j++)
cin>>a[i][j];
cout<<"suma pe principala="<<sum_pal_diag_p()<<endl;
cout<<"prod pe secundara="<<prod_pal_diag_s()<<endl;
}
1. in functiile ce calculeaza sumele palindroamelor pe diagonale au fost scapate la if-uri cate o paranteza de inchidere
2. se cereau trei raspunsuri, s-au dat doua ... nu s-au numarat cate palindroame contine matricea.
int main()
{
int contor=0;
cin>>n;
for(int i=0;i<n;i++)
for( int j=0;j<n;j++)
{
cin>>a[i][j];
if (palindrom(a[i][j])) ++contor;
}
cout << "nr de palindromuri: " << contor << "\n";
cout<<"suma pe principala="<<sum_pal_diag_p()<<endl;
cout<<"prod pe secundara="<<prod_pal_diag_s()<<endl;
}