Advertisement
strCarne

Untitled

Apr 25th, 2023
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. struct node {
  4.     int val = 0;
  5.     struct node *next = NULL;
  6. };
  7.  
  8. struct list {
  9.     struct node *head = NULL;
  10.     int length = 0;
  11. };
  12.  
  13. void append(struct list *l, int value) {
  14.     node *second = new node;
  15.     second->val = value;
  16.  
  17.     if (l->length == 0) {
  18.         l->head = second;
  19.         l->length++;
  20.         return;
  21.     }
  22.  
  23.     node *ptr = l->head;
  24.     while (ptr->next != NULL) {
  25.         ptr = ptr->next;
  26.     }
  27.     ptr->next = second;
  28. }
  29.  
  30. void printAnswer(struct list *l)
  31. {
  32.     node *ptr = l->head;
  33.     while (ptr != NULL) {
  34.         if (ptr->val % 2 == 0) {
  35.             std::cout << ptr->val << " ";
  36.         }
  37.         ptr = ptr->next;
  38.     }
  39. }
  40.  
  41. int main() {
  42.  
  43.     // Вводим количество целых чисел
  44.     int size;
  45.     std::cout << "Enter the number of elements: ";
  46.     std::cin >> size;
  47.  
  48.     // Создаем массив целых чисел введенной ранее размерности
  49.     int *arr = new int[size];
  50.  
  51.     // Заполняем массив целыми числами вводом
  52.     for (int i = 0; i < size; i++) {
  53.         std::cout << "Element No." << i + 1 << " = ";
  54.         std::cin >> arr[i];
  55.     }
  56.  
  57.     // Создаем односвязный список
  58.     list *lst = new list;
  59.  
  60.     // Заполняем список целыми цислами из массива
  61.     for (int i = 0; i < size; i++) {
  62.         append(lst, arr[i]);
  63.     }
  64.  
  65.     // Выводим четные числа из списка
  66.     printAnswer(lst);
  67.    
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement