Advertisement
a53

elim_prime

a53
Sep 25th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream f("elim_prime.in");
  4. ofstream g("elim_prime.out");
  5. struct nod{
  6. int info;
  7. nod *urm;
  8. };
  9. nod prim,p;
  10. int n,x;
  11.  
  12. void adaugare(nod *&p,int x)
  13. {
  14. if(p)
  15. {
  16. nod *u=p;
  17. while(u->urm)
  18. u=u->urm;
  19. nod *nou=new nod;
  20. nou->info=x;
  21. nou->urm=0;
  22. u->urm=nou;
  23. }
  24. else
  25. {
  26. p=new nod;
  27. p->info=x;
  28. p->urm=0;
  29. }
  30. }
  31.  
  32. void sterge(nod * & p)
  33. {
  34. nod *prim=p;
  35. while(p->urm->urm) // Daca elementul situat dupa elementul curent este par, il vom sterge
  36. {
  37. if(p->urm->info%2==0)
  38. {
  39. nod *t=p->urm;
  40. p->urm=t->urm;
  41. delete t;
  42. }
  43. else
  44. p=p->urm;
  45. }
  46. if(p->urm->info%2==0) // Analizam si ultimul element
  47. {
  48. nod *t=p->urm;
  49. p->urm=NULL;
  50. delete t;
  51. }
  52. p=prim; // retinem in p adresa primului element
  53. if(prim->info%2==0) // Analizam si primul element
  54. {
  55. p=prim->urm;
  56. delete prim;
  57. }
  58. }
  59.  
  60.  
  61.  
  62. int main()
  63. {
  64. f>>n;
  65. f>>x,adaugare(p,x);
  66. prim=p;
  67. for(int i=1;i<=n;++i)
  68. f>>x,adaugare(p,int x)
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement