Salut, ma poate ajuta cineva la aceasta tema? De mentionat trebuie rezolvata in C++ (int main)
ex1. Se citeste o matrice patratica, sa se numere cate elemente sunt numere palindrome sub diagonala principala.
ex2. Se citeste o matrice patratica, sa se calculeze numarul cifrelor elementelor aflate pe cele 2 diagonale.
ex3. Se citeste o matrice patratica, sa se calculeze suma tuturor divizorilor elementelor aflate deasupra diagonalei principale.
Multumesc!
Răspunsuri la întrebare
Exercitiul 1:
#include <iostream>
using namespace std;
int main()
{
int a[100][100], i, j, n, k = 0, c, o;
cin >> n;
for (i = 1; i <= n; i++)
for (j= 1; j <= n; j++)
cin >> a[i][j];
for (i = 1; i <= n; i++)
for (j= 1; j <= n; j++)
if (i>j)
{
c = a[i][j]; // c = copie numar aflat pe pozitia respectiva
o = 0; // o = variabila de memorare a oglinditului
while (c != 0)
{
o = o * 10 + c % 10;
c = c / 10;
}
if (a[i][j] == o)
k++;
}
cout << k;
return 0;
}
Exercitiul 2:
#include <iostream>
using namespace std;
int main()
{
int a[100][100], i, j, n, k = 0;
cin >> n;
for (i = 1; i <= n; i++)
for (j= 1; j <= n; j++)
cin >> a[i][j];
for (i = 1; i <= n; i++)
for (j= 1; j <= n; j++)
if (i == j or i+j == n+1)
if (a[i][j] == 0)
k = 1;
else
while (a[i][j] != 0)
{
k++;
a[i][j] = a[i][j] / 10;
}
cout << k;
return 0;
}
Exercitiul 3:
#include <iostream>
using namespace std;
int main()
{
int a[100][100], i, j, n, s = 0, k;
cin >> n;
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
cin >> a[i][j];
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if (i<j)
for (k = 1; k <= a[i][j]; k++)
if (a[i][j]%k == 0)
s = s + k;
cout << s;
return 0;
}
La 3 nu imi merge pe compilatorul meu exact asa cum trebuie, dar nu imi explic ce problema poate sa aiba in afara de faptul ca sunt folosite o gramada de functii for si if. Incearca sa vezi daca merge la tine. In caz de intrebari, posteaza-le in comentarii