Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- struct list // структура реализующая односвязный динамический список
- {
- int number;
- list *link;
- };
- void output_on_display(list *top)
- {
- list *work = top;
- cout << "Итоговый односвязный динамический список: ";
- while (work != NULL)
- {
- cout << work->number << ' ';
- work = work->link;
- }
- cout << endl;
- }
- int figures(int number) // количество цифр в числе
- {
- int count = 0;
- while (number != 0)
- {
- count++;
- number /= 10;
- }
- return count;
- }
- int random_number(int bottom_number, int top_number)
- {
- return bottom_number + rand() % top_number;
- }
- void beauty_number(list *top) // поиск красивых чисел
- {
- list *work = top;
- list *list_newbox;
- while (work != NULL)
- {
- if (work->number % figures(work->number) == 0)
- {
- list_newbox = new list;
- list_newbox->link = work->link;
- work->link = list_newbox;
- list_newbox->number = random_number(1, work->number);
- }
- work = work->link;
- }
- }
- int main() // создание односвязного динамического списка
- {
- srand(time(0));
- setlocale(LC_ALL, "russian");
- list *top = NULL, *work;
- int temp;
- cout << "Введите последовательность натуральных чисел (0 - символ конца ввода): ";
- cin >> temp;
- while (temp != 0)
- {
- work = new list;
- work->link = top;
- work->number = temp;
- top = work;
- cin >> temp;
- }
- beauty_number(top);
- output_on_display(top);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement