Advertisement
catalyn

problemaliste

Jun 3rd, 2015
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. struct nod
  5. {
  6. int info;
  7. nod *dr,*st;
  8. };
  9. nod *prim,*ultim;
  10. ifstream f("date.in");
  11. void creare()
  12. {
  13. nod *nou;
  14. int x;
  15. while(f>>x)
  16. if(prim==NULL)
  17. {
  18. prim=new nod;
  19. prim->info=x;
  20. prim->st=NULL;
  21. ultim=prim;
  22. }
  23. else
  24.  
  25. {
  26. nou=new nod;
  27. nou->info=x;
  28. nou->st=ultim;
  29. ultim->dr=nou;
  30. ultim=nou;
  31. }
  32. ultim->dr=NULL;
  33. }
  34.  
  35. void parcurgere_st()
  36. {
  37. nod *p=ultim;
  38. while(p!=NULL)
  39. {
  40. if(p->info%2==1)
  41. cout<<p->info<<" ";
  42. p=p->st;
  43. }
  44. cout<<'\n';
  45. }
  46.  
  47. void parcurgere_dr()
  48. {
  49. nod *p=prim;
  50. while(p!=NULL)
  51. {
  52. if(p->info%2==1)
  53. cout<<p->info<<" ";
  54. p=p->dr;
  55. }
  56.  
  57. void inserare()
  58. {
  59. nod *p=prim;
  60. while(p->info%2==0 && p!=NULL)
  61.  
  62.  
  63. p=p->dr;
  64. if(p!=NULL)
  65. {
  66. nod *nou;
  67. nou=new nod;
  68. nou->info=p->info*p->info;
  69. nou->dr=p->dr;
  70. nou->st=p;
  71. p->dr->st=nou;
  72. p->dr=nou;
  73. }
  74. }
  75.  
  76. void stergere()
  77. {
  78. //stergem ultimul nod cu info para;
  79.  
  80. nod *p=ultim,*q,*r;
  81. while(p->info%2==1 && p!=NULL)
  82. p=p->st;
  83. q=p->dr;
  84. r=p->st;
  85. r->dr=q;
  86. q->st=r;
  87. delete p;
  88. }
  89.  
  90. int main()
  91. {
  92. creare();
  93. parcurgere_st();
  94. parcurgere_dr();
  95. inserare();
  96. stergere();
  97. return 0;
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement