Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- using namespace std;
- int dist (int[], int);
- void BubbleSort(int[], int);
- int cifre (int, int&);
- //TEZA
- int main()
- {
- int pb;
- cout<<"Introdu nr problemei:"; cin>>pb;
- switch (pb){
- case 1:{
- int n;
- cout<<"n="; cin>>n;
- cout<<"Introdu elementele vectoruului:"<<endl;
- int v[n];
- for (int i=0; i<n; i++)
- cin>>v[i];
- cout<<dist(v, n);
- break;
- }
- case 2:{
- ifstream in ("date.in");
- int n;
- in>>n;
- int x;
- for (int i=0; i<n; i++){
- in>>x;
- int p;
- cifre (x, p);
- int cif=p%10;
- int copie=p;
- p/=10;
- int ok=1;
- for (int j=p; j && ok; j/=10){
- if(j%10==cif)
- ok=0;
- cif=j%10;
- }
- if(ok)
- cout<<copie<<" ";
- }
- break;
- }
- }
- return 0;
- }
- int dist (int v [], int n){
- for (int i=0; i<n-1; i++){
- if (abs(v[i]-v[i+1])==1)
- return 0;
- for (int j=i+1; j<n; j++){
- if (v[i]==v[j])
- return 0;
- }
- }
- return 1;
- }
- int cifre (int n, int&b){
- int v[8], ind=0;
- for (int i=n; i; i/=10){
- v[ind++]=i%10;
- }
- BubbleSort(v, ind);
- b=0;
- for (int i=0; i<ind; i++)
- b=b*10+v[i];
- }
- void BubbleSort(int v[], int n) {
- int i = 0;
- int ok;
- do
- {
- ok = 1;
- for (int j = 0; j < n - i - 1; j++)
- {
- if (v[j+1] < v[j])
- {
- swap(v[j+1], v[j]);
- ok = 0;
- }
- }
- i++;
- } while (ok==0 && i<n-1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement