C++ Palindromi u nizu brojeva

poruka: 2
|
čitano: 3.368
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
10 godina
neaktivan
offline
C++ Palindromi u nizu brojeva

Pozdrav, drug i ja smo naisli na zadatak koji smo imali na takmicenju prije par godina i tad ga nismo znali rijesiti, pa smo se zadali da probamo sa ovo malo znanja iz C++ sto nam je ostalo. Medjutim, problem je na drugom koraku. Zadatak glasi ovako: Potrebno je ucitati n niz brojeva. Zatim pronaci sve palindrome u nizu i pomnoziti ih. (Dakle, ako imamo 3443, 77877, 11211 onda treba pronaci proizvod ovih brojeva). U slucaju da nema palindroma treba ispisati poruku "Ne postoji".

Mi smo zapeli na provjeri palindroma u nizu, odnosno, while metoda u for petlji nikako ne funkcionise. Ispod je kod:

#include <iostream>
using namespace std;
int main ()
{
    int i;
    int r,sum,temp=0;
    cin>>i;
    int niz[i];
    for(int n=0;n<i;n++){
      cin>>niz[n];
        temp=niz[n];
        while(niz[n]>0)
        {
            r=n%10;
            sum=(sum*10)+r;
            n=n/10;
        }
        if(temp==sum)
            cout<<"Broj je palindrom.";
        else cout<<"Broj nije palindrom.";
       
    }
    return 0;
}

Bili bi vam veoma zahvalni na pomoci. Hvala unaprijed.

Kebab
Moj PC  
0 0 hvala 0
2 godine
neaktivan
offline
C++ Palindromi u nizu brojeva

pobrkao si n i niz[n]...

 

#include <iostream>
using namespace std;

 

int reverse(int a) {
  int b = 0;
  while (a) {
   b = b*10 + a%10;
   a /= 10;
  }
  return b;
}

 

int main () {
  int n;
  cin >> n;
  while (n--) {
   int a;
   cin >> a;
   if (a == reverse(a)) cout << a << " je palindrom\n";
   else cout << a << " nije palindrom\n";
  }
  return 0;
}

Poruka je uređivana zadnji put uto 4.1.2022 9:03 (push).
Moj PC  
0 0 hvala 1
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice