300
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
#include <bits/stdc++.h> using namespace std; void citire(int& n, int a[]){ cin >> n; for(int i = 1; i <= n; ++i) cin >> a[i]; } bool palindrom(int n){ int cn = n; int ogl = 0; while(n){ ogl = ogl * 10 + n % 10; n/=10; } return cn == ogl; } void eliminare(int a[], int& i, int& n){ for(int j = i + 1; j <= n; ++j) a[j-1] = a[j]; n--; i--; } void afisare(int n, int a[]){ for(int i = 1; i <= n; ++i) cout << a[i] << " "; } int main() { int n, a[1001]; citire(n, a); for(int i = 1; i <= n; ++i) if(palindrom(a[i])) eliminare(a, i, n); afisare(n, a); return 0; }
Comentarii