Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct node
- {
- int number;
- node* next;
- };
- typedef node* NodeP; // указатель на тип node
- NodeP head = NULL; // указатель на начало списка
- NodeP ptr; // указатель на текущий элемент
- NodeP tail;
- node* create(NodeP)
- {
- int elem_quan;
- int num;
- cout << "enter number of elements: ";
- cin >> elem_quan;
- tail = head; // указатель на конец списка
- while (elem_quan)
- {
- cin >> num;
- ptr = (node*)malloc(sizeof(node));
- if (head == NULL) // если список пуст
- {
- head = ptr;
- head->number = num; // запись значения в список
- head->next = NULL;
- tail = head;
- elem_quan--;
- }
- else
- {
- ptr->number = num;
- tail->next = ptr;
- ptr->next = NULL;
- tail = ptr;
- elem_quan--;
- }
- }
- return tail;
- }
- void print(NodeP)
- {
- tail = head;
- while (tail)
- {
- cout << tail->number << " ";
- tail = tail->next;
- }
- cout << endl;
- return;
- }
- int count_even(NodeP)
- {
- int count = 0;
- tail = head;
- while (tail)
- {
- if (tail->number % 2 == 0)
- count++;
- tail = tail->next;
- }
- return count;
- }
- int main()
- {
- create(ptr);
- print(ptr);
- cout << "number of evens: " << count_even(ptr) << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement