Advertisement
Guest User

Untitled

a guest
Feb 18th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string.h>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. ifstream fin ("datapal.in");
  9. ofstream fout ("datapal.out");
  10.  
  11.  
  12. int str_to_int(char an[4])
  13. {
  14.     int rez=0;
  15.     for(int i=0; i<4; i++)
  16.     {
  17.         rez=rez*10+an[i]-'0';
  18.     }
  19.     return rez;
  20. }
  21.  
  22. int main()
  23. {
  24.     char data[100];
  25.     char data_inv[100];
  26.     char an[10];
  27.     int nr_pali=0,n,secole_palindrom[101]= {0};
  28.     int maxx=0;
  29.  
  30.     fin>>n;
  31.     fin.get();
  32.  
  33.     for(int i=0; i<n; i++)
  34.     {
  35.         fin.getline(data,100);
  36.         strcpy(an,data+4);
  37.         strcpy(data_inv,data);
  38.  
  39.         for(int i=0;i<strlen(data)/2;i++)
  40.         {
  41.             swap(data_inv[i],data_inv[strlen(data)-1-i]);
  42.         }
  43.         int secol=str_to_int(an)/100+1;
  44.  
  45.         ///cout<<"anul "<<an<<" se afla in secolul "<<secol<<"\n";
  46.         if(strcmp(data,data_inv)==0)///strrev returneaza inversul unui string
  47.         {
  48.             nr_pali++;
  49.             secole_palindrom[secol]++;
  50.             if(secole_palindrom[secol]>maxx)
  51.             {
  52.                 maxx=secole_palindrom[secol];
  53.             }
  54.         }
  55.     }
  56.  
  57.     cout<<nr_pali<<"\n";
  58.     for(int i=0;i<100;i++)
  59.     {
  60.         if(secole_palindrom[i]==maxx)
  61.         {
  62.             cout<<i<<" ";
  63.         }
  64.     }
  65.  
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement