Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. //scrieti o functie care primeste ca parametru adresa listei si insereaza dupa fiecare nr pozitiv valoarea minima care exista in lista
  2. //afisati lista obtinuta
  3. #include <fstream>
  4. using namespace std;
  5. ifstream fin("15n2010-1.in");
  6. ofstream fout("15n2010-1.out");
  7. int minz=32000;
  8. struct nod{ int info; nod *urm; }; nod v;
  9. void Pmin(nod *prim)
  10. {
  11. nod*p=prim;
  12. while(p!= NULL)
  13. { if(minz>p->info)
  14. minz=p->info;
  15. p=p->urm;
  16. }
  17. }
  18. void afis(nod *prim)
  19. { nod*p=prim;
  20. while(p!=NULL)
  21. { fout<<p->info<<" ";
  22. p=p->urm;
  23. }
  24. }
  25. void creare(nod *&prim)
  26. {
  27. int nr; nod *sf;
  28. fin>>nr;
  29. if(prim==NULL)
  30. {
  31. prim=new nod;
  32. prim->info=nr;
  33. prim->urm=NULL;
  34. sf=prim;
  35. }
  36. fin>>nr;
  37. while(nr!=0)
  38. {
  39. nod *p;
  40. p=new nod;
  41. p->info=nr;
  42. p->urm=prim;
  43. prim=p;
  44. fin>>nr;
  45. }
  46. }
  47. void Inserare_dupa(int vald, int valn, nod *prim)
  48. { nod *p, *q;
  49. q=prim;
  50. while(q->info!=vald)
  51. q=q->urm;
  52. p=new nod;
  53. p->info=valn;
  54. p->urm=q->urm;
  55. q->urm=p;
  56. }
  57. void Sterge_nod(nod*&prim, int val)
  58. { nod *p, *aux;
  59. if(prim->info==val)
  60. { aux=prim; prim=prim->urm; Inserare_dupa(p->info, minz, p); }
  61. else {p=prim; while(p->urm->info!=val) p=p->urm;
  62. aux=p->urm;
  63. if(aux->urm==NULL) p->urm=NULL;
  64. else p->urm=aux->urm;
  65. Inserare_dupa(p->info, minz, p);
  66. }
  67. }
  68. int main()
  69. { creare(v);
  70. Pmin(v);
  71.  
  72. afis(v);
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement