Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream f("permutari1.in");
  5. ofstream g("permutari1.out");
  6. int n,st[10];
  7. void succesor(int st[],int k,int& as)
  8. {
  9. if(st[k]>1)
  10. {
  11. as=1;
  12. st[k]--;
  13. }
  14. else
  15. as=0;
  16. }
  17. void valid(int st[],int k,int& ev)
  18. {
  19. ev=1;
  20. for(int i=1;i<k;i++)
  21. if(st[i]==st[k])
  22. ev=0;
  23. }
  24. int solutie(int k)
  25. {
  26. if(k==n)
  27. return 1;
  28. else
  29. return 0;
  30. }
  31. void tipar()
  32. {
  33. for(int i=1;i<=n;i++)
  34. g<<st[i]<<" ";
  35. g<<endl;
  36. }
  37. int main()
  38. {
  39. int k,ev,as;
  40. f>>n; //n=3--->nr de numere
  41. k=1; //pozitia din vector
  42. st[k]=n+1; //vectorul(stiva)
  43. while(k>=1)
  44. {
  45. do
  46. {
  47. succesor(st,k,as);
  48. if(as==1)
  49. valid(st,k,ev);
  50. }while(as==1 && ev==0);
  51. if(as==1)
  52. if(solutie(k)==1)
  53. tipar();
  54. else
  55. {
  56. k++;
  57. st[k]=n+1;
  58. }
  59. else
  60. k--;
  61. }
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement