Advertisement
Dr4noel

Liste Simplu Inlantuite

Jan 17th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct nodd {
  6.  
  7. int x;
  8. nodd *next;
  9.  
  10. };
  11.  
  12. nodd *first, *last;
  13.  
  14. nodd *alocare() {
  15. return (nodd*)malloc(sizeof(nodd));
  16. }
  17.  
  18. void read(int n) {
  19. first = alocare();
  20. last = first;
  21. last->next = NULL;
  22. printf("Persoana nr.#1 are varsta de: ");
  23. scanf_s("%d", &last->x);
  24. nodd *newNod;
  25. for (int i = 1; i < n; i++) {
  26. newNod = alocare();
  27. printf("Persoana nr.#%d are varsta de: ", i + 1);
  28. scanf_s("%d", &newNod->x);
  29. last->next = newNod;
  30. last = newNod;
  31. last->next = NULL;
  32. }
  33. }
  34.  
  35. void show() {
  36. nodd *actualNode;
  37. actualNode = first;
  38. for (int i = 0; actualNode != NULL; i++) {
  39. printf("\nPersoana nr.#%d are varsta de: %d .", i+1,actualNode->x);//*actualNode==actualnode->y(adica primul element din structura)
  40. actualNode = actualNode->next;
  41.  
  42. }
  43. }
  44.  
  45. void fuckMyLife() {
  46. nodd *preFirst;
  47. preFirst = alocare();
  48. preFirst->next = first;
  49. printf("\nPersoana nr.pre1 are varsta de: \n");
  50. scanf_s("%d", &preFirst->x);
  51. first = preFirst;
  52. }
  53.  
  54. void FuckMyLifeS() {
  55. nodd *postLast;
  56. postLast = alocare();
  57. last->next = postLast;
  58. printf("\nIntroduceti varsta ultimei persoane din lista: \n");
  59. scanf_s("%d", &postLast->x);
  60. postLast->next = NULL;
  61. last = postLast;
  62. }
  63.  
  64. void FuckMyLifeSS() {
  65. nodd *search, *newNodd;
  66. newNodd = alocare();
  67. search = first;
  68. int val;
  69. printf("\nDupa ce varsta vreti sa adagati noua varsta?\n");
  70. scanf_s("%d", &val);
  71.  
  72. for (int i = 0; search != NULL; i++) {
  73. if (search->x == val) {
  74.  
  75. printf("\nIntroduceti varsta persoanei: \n");
  76. scanf_s("%d", &newNodd->x);
  77. newNodd->next = search->next;
  78. search->next = newNodd;
  79. break;
  80. }
  81. search = search->next;
  82. }
  83. }
  84.  
  85. void main() {
  86. int n;
  87. printf("Introduceti numarul de noduri ale listei: \n");
  88. scanf_s("%d", &n);
  89.  
  90. read(n);
  91. printf("\nAfisare lista:");
  92. show();
  93. printf("\nIntroduceti varsta persoanei care va lua locul celei din-tai: \n");
  94. FuckMyLifeSS();
  95. show();
  96.  
  97. _getch();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement