1 / 1 / 0
Регистрация: 22.02.2012
Сообщений: 33
1

Создать новый стек, содержащий только четные числа из заданного стека

19.09.2013, 21:58. Показов 8263. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать стек с числами в диапазоне от –50 до +50. После создания стека выполнить индивидуальное задание. В конце работы все стеки должны быть удалены.
Создать новый стек, содержащий только четные числа из первого стека.
Помогите пожалуйста)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2013, 21:58
Ответы с готовыми решениями:

Создать новый стек, содержащий только те числа из первого стека, которые больше среднего значения всех элементов первого
Общая часть: Создать стек для хранения чисел, значение которых случайно в диапазоне от –50 до +50....

Создать стек, содержащий только числа большие среднего значения всех элементов первого стека
Основная цель: Создать стек с числами в диапазоне от –50 до +50.После создания стека выполнить...

Создать новый стек, содержащий только четные числа из первого стека
Вот программа создания стека. ...

Преобразовать стек в два стека - первый должен содержать только чётные числа, второй — только нечётные
Здравствуйте!! Нужно создать стек в диапазоне -50 до 50.Преобразовать стек в два стека.Причем,...

4
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
19.09.2013, 22:03 2
Вот Вам сам стек:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#ifndef Stack_H_
#define Stack_H_
#include <cstddef>
 
template<typename T>
class Stack{
private:
    template<typename Ty>
    struct Stack_Node{
        Ty data;
        Stack_Node * next;
        Stack_Node(const Ty & _data,const Stack_Node * _next):data((Ty)_data),next((Stack_Node*)_next){}
    };
    Stack_Node<T> * topnode;
    size_t count;
public:
    Stack();
    Stack(const Stack&);
    ~Stack();
    T & top() const;
    void pop();
    void push(const T & _val);
    bool empty() const;
    bool nonempty() const;
    size_t size() const;
};
 
 
template<typename T>
Stack<T>::Stack():topnode(nullptr),count(0){
}
 
template<typename T>
Stack<T>::Stack(const Stack & cpy):topnode(nullptr),count(cpy.count){
    Stack_Node<T> * tempcpy=cpy.topnode;
    Stack_Node<T> * temp=nullptr;
    if(!count){
        return;
    }
    temp=topnode=new Stack_Node<T>(cpy.top(),nullptr);
    tempcpy=tempcpy->next;
    while(tempcpy){
        temp->next=new Stack_Node<T>(tempcpy->data,nullptr);
        temp=temp->next;
        tempcpy=tempcpy->next;
    }
}
 
template<typename T>
Stack<T>::~Stack(){
    Stack_Node<T> * temp=topnode;
    while(topnode){
        topnode=topnode->next;
        delete temp;
        temp=topnode;
    }
}
 
template<typename T>
bool Stack<T>::empty()const{
    return !count;
}
 
template<typename T>
bool Stack<T>::nonempty()const{
    return (bool)count;
}
 
template<typename T>
void Stack<T>::push(const T & _val){
    topnode=new Stack_Node<T>(_val,topnode);
    ++count;
}
template<typename T>
void Stack<T>::pop(){
    if (!topnode){
        // STACK пуст
        return;
    }
    Stack_Node<T> * temp=topnode;
    topnode=topnode->next;
    delete temp;
    --count;
}
template<typename T>
T & Stack<T>::top()const{
    return topnode->data;
}
 
template<typename T>
size_t Stack<T>::size()const{
    return count;
}
 
#endif //END Stack_H_
1
1 / 1 / 0
Регистрация: 22.02.2012
Сообщений: 33
19.09.2013, 22:13  [ТС] 3
а можно ли попроще, такое еще не учили(
Что то такое, без классов http://firepic.org/images/2013... njvry8.png
0
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
22.09.2013, 11:54 4
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
#include <stdio.h>
#include <conio.h>
 
#define LEN 100
 
int g_count1 = 0;
int g_count2 = 0;
int* g_v = NULL;
int* g_v2 = NULL;
 
int n = 105;
 
void push(int* gv, int& g_count, int val)
{
    if (g_count >= LEN) return;
    gv[g_count++] = val;
}
 
bool pop(int* gv, int& g_count, int* pval)
{
    if (g_count <= 0 || pval == NULL) return 0;
    if (pval != NULL) *pval = gv[--g_count];
    return 1;
}
 
int main(int argc, char* argv[])
{
    if (g_v == NULL)
    {
        g_v = new int[LEN+1];
        g_v2 = new int[LEN+1];
    }
 
    int i = -50;
    while (i <= 50) push(g_v,g_count1,i++);
 
    int val = 0;
    while (pop(g_v,g_count1,&val))
    {
        if ((val % 2) == 0)
            push(g_v2, g_count2, val);
    }
    
    while (pop(g_v2,g_count2,&val))
        printf("%d\n",val);
 
    if (g_v != NULL && g_v2 != NULL) 
    {
        delete[] g_v;
        delete[] g_v2;
    }
 
    _getch();
 
    return 0;
}
http://codepad.org/OwepgrbB
1
1 / 1 / 0
Регистрация: 22.02.2012
Сообщений: 33
22.09.2013, 12:00  [ТС] 5
zitxbit, Благодарю)
0
22.09.2013, 12:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2013, 12:00
Помогаю со студенческими работами здесь

Переписать в новый стек сначала все четные, а затем нечётные числа из исходного стека
Создать стек, состоящий. Переписать в новый стек сначала все четные, а затем нечётные числа из...

Преобразовать стек в два стека. Первый должен содержать только четные числа, а второй – нечетные
Сессия грядет , ребята выручайте! 2. Сформировать динамический список (стек), считая, что длина...

Создать стек, содержащий исходные числа (последнее число будет вершиной стека)
Дано неотрицательное число N и набор из N чисел. Создать стек, содержащий исходные числа (последнее...

Создать стек содержащий числа исходного стека большие среднего значения всех элементов
Создать новый стек, содержащий только те числа из первого стека, которые больше среднего значения...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru