Guest User

Untitled

a guest
Dec 18th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. struct list
  7. {
  8. char data; //pole dannih
  9. int numb; //pole nomera elementa
  10. list *link;//pole adresa
  11. };
  12.  
  13. list *sozdspis(char, int, list*);
  14. list *addelem(char, char, list*);
  15. void viewsp(list*);
  16.  
  17.  
  18. int main()
  19. {
  20. setlocale(LC_ALL, "Russian");
  21. int i = 1;
  22. list *first = NULL;
  23. char ch, E;
  24. cout << "n Вводите элементы списка сплошной строкой; "
  25. "n в конце - точка: n";
  26. cin >> ch;
  27. while (ch != '.')
  28. {
  29. first = sozdspis(ch, i, first);
  30. i++;
  31. cin >> ch;
  32. }
  33.  
  34. cout << "Введите элемент E n";
  35. cin >> E;
  36.  
  37. first = addelem(E, ch, first);
  38. if (first != NULL)
  39. {
  40. cout << "Результат получен n";
  41. viewsp(first);
  42. }
  43. else cout << "Результата нетn";
  44.  
  45. cin.get();
  46. system("pause");
  47. return 1;
  48. }
  49.  
  50.  
  51. list * addelem(char E, char ch, list *first)
  52. {
  53. list *temp, *p, *now = first;
  54.  
  55. while ((now != NULL) && (now->data))
  56. {
  57. now = now->link;
  58. if (now->data == E) //все что я смог придумать D:
  59. {
  60. now->link = temp;
  61. temp->data = E;
  62. temp->link = now;
  63. }
  64. }
  65. return temp;
  66. }
  67.  
  68. //viewsp Begin______________________________
  69. //Просмотр циклического списка
  70. void viewsp(list *head)
  71. {
  72. list *tec = head;
  73. do
  74. {
  75. cout << tec->data;
  76. tec = tec->link;
  77. } while (tec != head);
  78. }
  79. //viewsp End___________________________________________________________________
  80. //sozdspis Begin_______________________________________________________________
  81. //Добавление нового элемента в список
  82. list *sozdspis(char ch, int k, list *head)
  83. {
  84. list *tec,
  85. *nov = new(list);
  86. nov->data = ch;
  87. nov->numb = k;
  88. nov->link = NULL;
  89. if (head) //список не пуст
  90. {
  91. tec = head;
  92. while (tec->link)
  93. tec = tec->link;
  94. tec->link = nov;
  95. }
  96. else //список пуст
  97. head = nov;
  98. return head;
  99. }
Add Comment
Please, Sign In to add comment