Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ubb 2011 admission compatibility shit
- #include <iostream> // iostream.h
- using namespace std; // missing
- #define N 100
- void afisare(int vec[], int len) {
- int i;
- for (i = 0; i < len; i++)
- cout << vec[i] << ' ';
- }
- void citire(int vec[], int& len) {
- len = 0; // lungime intiiala 0
- int nr;
- cin >> nr;
- while (nr != 0) {
- vec[len] = nr;
- len++;
- cin >> nr;
- }
- }
- void cifre(int vec[], int& len, int nr) {
- // analaog ca la citire, numai ca pentru cifrele unui nr
- len = 0;
- while (nr != 0) {
- vec[len] = nr % 10;
- len++;
- nr = nr / 10;
- }
- }
- int palindrom(int nr) {
- int cif[10];
- int ncif, i;
- cifre(cif, ncif, nr);
- for (i = 0; i < ncif / 2; i++) { // iteram pana la jum.
- if (cif[i] != cif[ncif - 1 - i]) { // verificam
- return 0;
- }
- }
- return 1; // daca s-a ajuns aici, numarul e palindrom
- }
- void inserare(int vec[], int& len, int nr) {
- int i, j;
- for (i = 0; i < len; i++) {
- if (vec[i] == nr) return; // numar deja inserat
- else if (vec[i] < nr) { // nr trebuie inserat pe poz i
- for (j = len; j > i; j--) {
- vec[j] = vec[j - 1];
- }
- vec[i] = nr;
- break;
- }
- }
- if (i == len) vec[i] = nr;
- len++;
- }
- int main() { // void :)
- int sir[N], nsir, i, sir2[N], nsir2 = 0;
- citire(sir, nsir);
- for (i = 0; i < nsir; i++) {
- if (palindrom(sir[i]) == 1) {
- inserare(sir2, nsir2, sir[i]);
- }
- }
- if (nsir2 == 0) {
- cout << "Sirul Y e vid.";
- } else {
- afisare(sir2, nsir2);
- }
- return 0; // no return
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement