Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <clocale>
- #include <cstdlib>
- #include <conio.h>
- // Намутим структуру данных, организованную в виде списка
- struct Node {
- struct Node * root;
- int a;
- struct Node * next;
- void replace_all(int to_change, int value, Node *root) {
- if (root != NULL) {
- if (root->a == to_change) {
- root->a = value;
- }
- replace_all(to_change, value, root->next);
- }
- }
- } typedef Node;
- int main()
- {
- setlocale(LC_ALL, "Russian");
- srand(time(0));
- // Заполняем список из 5 элементов случайными значениями
- Node *prev = NULL,
- *current;
- printf("Заполняем список из 5 элементов случайными значениями\n");
- for (int i = 0; i < 5; i++) {
- current = new Node;
- current->a = rand() % 100;
- current->next = prev;
- prev = current;
- }
- current->root = current;
- printf("Полученный список: \n");
- Node * traverse_iterator = current->root;
- while (traverse_iterator != NULL) {
- printf("Элемент: %i\n", traverse_iterator->a);
- traverse_iterator = traverse_iterator->next;
- }
- int to_change;
- printf("Введите элемент, который необходимо заменить: ");
- scanf_s("%i", &to_change);
- printf("Введите элемент, на который будем менять: ");
- int value;
- scanf_s("%i", &value);
- current->replace_all(to_change, value, current);
- printf("Полученный список: \n");
- traverse_iterator = current->root;
- while (traverse_iterator != NULL) {
- printf("Элемент: %i\n", traverse_iterator->a);
- traverse_iterator = traverse_iterator->next;
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement