193030

SAA VII. Zadacha 2

Oct 27th, 2020 (edited)
706
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.     Да се разработи функция, която намира броя на елементите на линеен
  3.     едносвързан списък от цели числа, имащи зададена стойност (да се
  4.     предава като параметър).
  5. */
  6.  
  7. #include <iostream>
  8.  
  9. struct Node
  10. {
  11.     int data;
  12.     struct Node* next;
  13. } *first = NULL, *last = NULL;
  14. using namespace std;
  15.  
  16. void addNumbers(int x)
  17. {
  18.     if(first == NULL)
  19.     {
  20.         first = new  Node;
  21.         first->data = x;
  22.         first->next = NULL;
  23.         last = first;
  24.     }
  25.     else
  26.     {
  27.         Node *t = new Node;
  28.         t->data = x;
  29.         t->next = NULL;
  30.         last->next = t;
  31.         last = t;
  32.     }
  33. }
  34.  
  35. void displayList(struct Node *p)
  36. {
  37.     while(p)
  38.     {
  39.         cout << p->data << " ";
  40.         p = p->next;
  41.     }
  42. }
  43. void countNumber(struct Node *p)
  44. {
  45.     int numberOfElements = 0;
  46.     while(p)
  47.     {
  48.         p = p->next;
  49.         numberOfElements++;
  50.     }
  51.     cout << "The number of elements in the list is: " << numberOfElements << endl;
  52. }
  53.  
  54. int countSpecificNumbers(struct Node *p, int specifiedNumber)
  55. {
  56.     int numberOfElements = 0;
  57.     while(p)
  58.     {
  59.        if(p->data == specifiedNumber)
  60.             numberOfElements++;
  61.         p = p->next;
  62.  
  63.     }
  64.     cout << "The number of elements with value "<< specifiedNumber << " in the list is: " << numberOfElements << endl;
  65.     return specifiedNumber;
  66. }
  67.  
  68.  
  69.  
  70. int main()
  71. {
  72.     addNumbers(1);
  73.     addNumbers(2);
  74.     addNumbers(2);
  75.     addNumbers(4);
  76.     displayList(first);
  77.     countNumber(first);
  78.     cout << countSpecificNumbers(first,2) << endl;
  79. }
  80.  
RAW Paste Data