Informatică, întrebare adresată de Englid, 9 ani în urmă

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

Răspuns de me2018
1

#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;

}


Englid: Multumesc mult !
boiustef: observatie:
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.
boiustef: am modificat putin functia main, celelalte sunt ok de la Me208 (dar pune acele paranteze la if-uri :)) )
Răspuns de boiustef
0

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;


}



Alte întrebări interesante