Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.11.2017
Сообщений: 2
1

Создать стек из случайных целых чисел

01.12.2017, 12:12. Просмотров 2214. Ответов 1
Метки нет (Все метки)

Создать стек из случайных целых чисел. Перенести в другой стек все элементы ,находящиеся между вершиной и элементом с минимальным значени-ем.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2017, 12:12
Ответы с готовыми решениями:

Создать стек из случайных целых чисел и отсортировать элементы по возрастанию (убыванию)
Здраствуйте!Можете помочь с заданием???Дана программа: #include <iostream> #include <malloc.h>...

Создать стек из 10 случайных чисел
Создать стек из 10 случайных чисел из диапазона . Вывести стек на экран. Найти сумму 4-х...

Создать стек целых чисел на основе статического массива.
Создать стек целых чисел на основе статического массива. Реализовать методы : Добавить элемент,...

Создать стек целых чисел на основе статического массива
Создать стек целых чисел на основе статического массива. Реализовать методы : Добавить элемент,...

1
819 / 622 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
01.12.2017, 16:31 2
Лучший ответ Сообщение было отмечено laptander как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <cstdlib>
#include <ctime>
 
struct node {
    int val;
    node* next;
    node(int v, node* st):val(v), next(st){}
};
 
void  stack_push(node*& st, int val);
void  stack_pop(node*& st);
node* stack_min(node* st);
 
int main(void){
    srand(static_cast<unsigned int>(time(NULL)));
 
    node* st = NULL;
    for(int i = 0; i < 10; ++i)
        stack_push(st, rand() % 10);
    
    //вывести изначальный исходный стек
    for(const node* j = st; j != NULL; j = j->next)
        std::cout << j->val << ' ';
    std::cout << std::endl;
 
    //Перенести в другой стек все элементы...
    node* p   = stack_min(st);
    node* st1 = NULL;
    if(p != st){
        st1 = st;
        st  = p->next;
        p->next = NULL;
    }
 
    //вывести полученный стек
    while(st1 != NULL){
        std::cout << st1->val << ' ';
        stack_pop(st1);
    }
    std::cout << std::endl;
 
    //вывести оставшиеся элементы в исходном стеке
    while(st != NULL){
        std::cout << st->val << ' ';
        stack_pop(st);
    }
    std::cin.get();
    return 0;
}
 
//добавить
void stack_push(node*& st, int val){
    st = new node(val, st);
}
 
//вытолкнуть
void stack_pop(node*& st){
    node* t;
    if(st != NULL){
        t  = st;
        st = st->next;
        delete t;
    }
}
 
//мин. элемент
node* stack_min(node* st){
    node* p = st;
    for(; st != NULL; st = st->next){
        if(st->val < p->val)
            p = st;
    }
    return p;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2017, 16:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создать динамический список из случайных целых чисел?
Создать динамический список из случайных целых чисел (от -30 до +30), поменять местами элементы,...

Создать структуру, реализующую стек целых чисел типа LIFO
Создать структуру, реализующую стек целых чисел типа LIFO. Данные структуры: массив стека,...

Создать массив из 10 случайных целых чисел из отрезка; вывести значение минимального элемента массива
Написать программу, создающую массив из 10 случайных целых чисел из отрезка . Вывести на экран весь...

Создать список из случайных целых чисел в диапазоне от 1 до 10, определить наиболее часто встречающееся число и удалить
Создать список из случайных целых чисел в диапазоне от 1 до 10, определить наиболее часто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.