Cerința
Se dă un tablou cu n
elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.
Se vor defini și apela următoarele subprograme:
citire
, care citește de la tastatură valoarea luin
și celen
elemente ale tablouluiafisare
, care afișează pe ecran elementele tabloului, separate prin exact un spațiupalindrom
, care verifică dacă un număr dat ca parametru este palindromeliminare
, care elimină din tablou un element a cărui poziție este dată ca parametru.
În programele C/C++ nu se vor folosi variabile globale.
Date de intrare
Se citește de la tastatură numărul n
, iar apoi cele n
elemente ale tabloului.
Date de ieșire
Se vor afișa pe ecran elementele tabloului, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n ≤ 1000
- elementele tabloului vor fi mai mici decât
1.000.000.000
Exemplu
Intrare
7 17 181 22 56 4 20 420
Ieșire
17 56 20 420
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema ElimPalindrom:
#include <iostream>
#include <fstream>
using namespace std;
void citire(int a[], int &n);
void afisare(int a[], int n);
int palindrom(int x);
void eliminare(int a[], int & n ,int p);
int main()
{
int n , v[1005];
citire(v , n);
for(int i = n - 1 ; i >= 0 ; i --)
if(palindrom(v[i]))
eliminare(v , n , i);
afisare(v , n);
return 0;
}
void citire(int a[] , int & n)
{
cin >> n;
for(int i = 0 ; i < n ; i ++)
cin >> a[i];
}
void afisare(int a[], int n)
{
for(int i = 0 ; i < n ; i ++)
cout << a[i] << " ";
}
int palindrom(int x)
{
int y = x , ogl = 0;
while(y)
{
ogl = 10 * ogl + y % 10;
y /= 10;
}
return ogl == x;
}
void eliminare(int a[], int & n ,int p)
{
for(int i = p ; i < n - 1 ; i ++)
a[i] = a[i + 1];
n --;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #915 ElimPalindrom
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #915 ElimPalindrom de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!