Advertisement
Divergent7

Untitled

Feb 14th, 2021
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. struct list {
  4. int elem;
  5. list* next;
  6. };
  7. void run(list* p) {
  8. cout <<"List:";
  9. while (p->next != nullptr) {
  10. cout << " " << p->elem;
  11. p = p->next;
  12. }
  13. cout << endl;
  14. }
  15.  
  16. void Fill_List(list*p) {
  17. setlocale(LC_ALL, "RUS");
  18. int size;
  19. cout << "Введите количество элементов списка" << endl;
  20. cin >> size;
  21. cout << "Вводите элементы" << endl;
  22. for (int i = 0; i < size; i++) {
  23. cin >> p->elem;
  24. p->next = new list;
  25. p = p->next;
  26. }
  27. p->next = nullptr;
  28. }
  29. void input_after(list* p) {
  30. while (p->next != nullptr) {
  31. if (p->elem % 2 == 0) {
  32. list* tmpR = new list;
  33. tmpR->elem = pow(p->elem, 2);
  34. tmpR->next = p->next;
  35. p->next = tmpR;
  36. p = tmpR;
  37. }
  38. p = p->next;
  39. }
  40. }
  41. void input_before(list*p) {
  42. if (p->elem % 2 == 0) {
  43. list*r = new list;
  44. r->elem = pow(p->elem, 2);
  45. r->next = p;
  46. p = r;
  47. }
  48. while (p->next != nullptr) {
  49. if (p->next->elem % 2 == 0) {
  50. list*r = new list;
  51. r->elem = p->next->elem * p->next->elem;
  52. r->next = p->next;
  53. p->next = r;
  54. p = r;
  55. }
  56. p = p->next;
  57. }
  58. }
  59. int main()
  60. {
  61. setlocale(LC_ALL, "RUS");
  62. list* begin = new list;
  63. list*p = begin;
  64. Fill_List(begin);
  65. input_before(begin);
  66. run(begin);
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement