Informatică, întrebare adresată de costacheandreioy2oh6, 8 ani în urmă

//Să se citească numere până se întâlneşte 0 şi să se afişeze acele numere care sunt
//palindroame.
int palindrom(int &a)
{
int b = 0;
int copie = a;
while (a)
{
b = b * 10 + a % 10;
a /= 10;
}
if (copie == b)
{
return 1;
}
else
{
return 0;
}
}
void deToate(int n, int v[])
{
int i = 0;
while (v[i] != 0)
{
std::cin >> v[i];
if (palindrom(v[i]) == 1)
{
std::cout << v[i] << std::endl;
}
i++;
}

}
int main()
{
int n;
std::cin >> n;
int *v = new int[n];
citireVector(n, v);
sumaProdus(v, n);
}


Imi afiseaza intr-una 0, la orice tip de input, ce as putea face?


boiustef: La funcţia palindrom ai eroare. De ce ai luat &a, ce intorci valoarea lui?
antetul functiei tr să fie astfel:
int palindrom(int a)
boiustef: Lipsesc în cod subprogramele citireVector şi SumaProdus
costacheandreioy2oh6: functia palindrom nu are eroare, referinta era pusa dupa ce am gandit o altfel. Oricum, nu are treaba citirea vectorului si nici suma produs cu asta.
costacheandreioy2oh6: #include
//Să se citească numere până se întâlneşte 0 şi să se afişeze acele numere care sunt
//palindroame.
int palindrom(int a)
{
int b = 0;
int copie = a;
while (a)
{
b = b * 10 + a % 10;
a /= 10;
}
if (copie == b)
{
return 1;
}
else
{
return 0;
}
}
void deToate()
{
int x=-1;
int copie;
int i = 0;
do
{
std::cin >> x;
copie = x;
if (palindrom(x) == 1)
{
std::cout << "Elementul " << copie << " este palindrom" << std::endl;
}
} while (x == 0);

}
int main()
{
deToate();
system("pause");
}
costacheandreioy2oh6: Asta e programul dupa ce l-am regandit
boiustef: se putea face o afisare comună a tuturor numere palinndroame, intr-o listă nu fiecare aparte, dar e bine

Răspunsuri la întrebare

Răspuns de Virusul20
0

try to fiind center and rezolv host ......mayby

Răspuns de rontaila
0

#include <iostream>

using namespace std;

int a[101], i = 1;

int palindrom(int x)

{

   if(x<10)

       return 1;

   int copie = x;

   int inv = 0;

   while(copie != 0)

   {

       inv = inv * 10 + copie%10;

       copie = copie/10;

   }

   if(inv == x)

       return 1;

   return 0;

}

void citire()

{

   int x;

   

do

   {

       cin>>x;

       a[i] = x;

       i++;

   }while(x!=0);

}

void afisare()

{

   for(int j=1;j<=i;j++)

       if(palindrom(a[j]) && a[j] != 0)

           cout<<a[j]<<' ';

}

int main()

{

   citire();

   afisare();

   return 0;

}

Iti dau un sfat, invata prima data algoritmica si sa folosesti limbajul la nivel de baza apoi treci la lucruri mai avansate, cum e in cazul tau "std::", "system()".


costacheandreioy2oh6: O sa iti dau 5 stele si punctajul intrucat nu e altcineva care sa fi dat un raspuns. system("pause"); il folosesc doar pentru ca consola sa imi ramana aprinsa dupa ce mi se afiseaza consola(VISUAL STUDIO). Am facut si eu programul pana la urma sa mearga, oricum, mersi mult pt raspuns.
Alte întrebări interesante