Advertisement
Dani_info

Teza

Dec 11th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. int dist (int[], int);
  8. void BubbleSort(int[], int);
  9. int cifre (int, int&);
  10.  
  11. //TEZA
  12.  
  13. int main()
  14. {
  15.     int pb;
  16.     cout<<"Introdu nr problemei:"; cin>>pb;
  17.     switch (pb){
  18.         case 1:{
  19.             int n;
  20.             cout<<"n="; cin>>n;
  21.             cout<<"Introdu elementele vectoruului:"<<endl;
  22.             int v[n];
  23.             for (int i=0; i<n; i++)
  24.                 cin>>v[i];
  25.             cout<<dist(v, n);
  26.             break;
  27.         }
  28.         case 2:{
  29.             ifstream in ("date.in");
  30.             int n;
  31.             in>>n;
  32.             int x;
  33.             for (int i=0; i<n; i++){
  34.                 in>>x;
  35.                 int p;
  36.                 cifre (x, p);
  37.                 int cif=p%10;
  38.                 int copie=p;
  39.                 p/=10;
  40.                 int ok=1;
  41.                 for (int j=p; j && ok; j/=10){
  42.                     if(j%10==cif)
  43.                         ok=0;
  44.                     cif=j%10;
  45.                 }
  46.                 if(ok)
  47.                     cout<<copie<<" ";
  48.             }
  49.             break;
  50.         }
  51.     }
  52.     return 0;
  53. }
  54.  
  55.  
  56.     int dist (int v [], int n){
  57.         for (int i=0; i<n-1; i++){
  58.             if (abs(v[i]-v[i+1])==1)
  59.                 return 0;
  60.             for (int j=i+1; j<n; j++){
  61.                 if (v[i]==v[j])
  62.                     return 0;
  63.             }
  64.         }
  65.         return 1;
  66.     }
  67.  
  68.     int cifre (int n, int&b){
  69.         int v[8], ind=0;
  70.         for (int i=n; i; i/=10){
  71.             v[ind++]=i%10;
  72.         }
  73.         BubbleSort(v, ind);
  74.         b=0;
  75.         for (int i=0; i<ind; i++)
  76.             b=b*10+v[i];
  77.     }
  78.  
  79.     void BubbleSort(int v[], int n) {
  80.     int i = 0;
  81.     int ok;
  82.     do
  83.     {
  84.         ok = 1;
  85.         for (int j = 0; j < n - i - 1; j++)
  86.         {
  87.             if (v[j+1] < v[j])
  88.             {
  89.                 swap(v[j+1], v[j]);
  90.                 ok = 0;
  91.             }
  92.         }
  93.         i++;
  94.     } while (ok==0 && i<n-1);
  95.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement