Se citesc perechi de numere naturale pana la citirea a doua valori nule.Sa se determine cate dintre perechile X Y au proprietatea ca prin concatenarea lui X cu Y sau a lui Y cu X sa se obtina un palindrom.(C++)
Răspunsuri la întrebare
Răspuns de
4
Stiu ca e foarte dezordonat codul,dar daca zici ca nu ai facut subprograme...
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int x, y, a, b, z, c, nrcifx, nrcify, nr1, nr2, inv1, inv2, k = 0;
do
{
cin >> x;
cin >> y;
nrcifx = 0;
nrcify = 0;
a = x;
while (a != 0)
{
nrcifx = nrcifx + 1;
a = a / 10;
}
b = y;
while (b != 0)
{
nrcify = nrcify + 1;
b = b / 10;
}
nr1 = x*pow(10, nrcify) + y;
nr2 = y*pow(10, nrcifx) + x;
z = nr1;
c = nr2;
inv1 = 0;
while (nr1)
{
inv1 = inv1 * 10 + nr1 % 10;
nr1 = nr1 / 10;
}
inv2 = 0;
while (nr2)
{
inv2 = inv2 * 10 + nr2 % 10;
nr2 = nr2 / 10;
}
if (z == inv1 || c == inv2)
k = k + 1;
if (x == 0 && y == 0)
k = k - 1;
} while (x != 0 && y != 0);
cout << k;
return 0;
}
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int x, y, a, b, z, c, nrcifx, nrcify, nr1, nr2, inv1, inv2, k = 0;
do
{
cin >> x;
cin >> y;
nrcifx = 0;
nrcify = 0;
a = x;
while (a != 0)
{
nrcifx = nrcifx + 1;
a = a / 10;
}
b = y;
while (b != 0)
{
nrcify = nrcify + 1;
b = b / 10;
}
nr1 = x*pow(10, nrcify) + y;
nr2 = y*pow(10, nrcifx) + x;
z = nr1;
c = nr2;
inv1 = 0;
while (nr1)
{
inv1 = inv1 * 10 + nr1 % 10;
nr1 = nr1 / 10;
}
inv2 = 0;
while (nr2)
{
inv2 = inv2 * 10 + nr2 % 10;
nr2 = nr2 / 10;
}
if (z == inv1 || c == inv2)
k = k + 1;
if (x == 0 && y == 0)
k = k - 1;
} while (x != 0 && y != 0);
cout << k;
return 0;
}
helpmeplizz:
si mie imi da 80 de puncte din 100
Alte întrebări interesante
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Arte,
9 ani în urmă