Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
#1

Стек содержащий только положительные числа - C++

28.11.2011, 02:33. Просмотров 1101. Ответов 3
Метки нет (Все метки)

Итак, я имею стек вот код:

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
// stack a.cpp : main project file.
 
#include "stdafx.h"
#include <cstdlib> 
#include <iostream> 
 
using namespace std; 
 
struct tstk  
{
    int inf;  
    tstk *a;
} ;  
    
    tstk *DelStackAll(tstk *sp)  
    { tstk *spt; int inf;  
    while(sp != NULL) {  
        spt = sp;  
        inf= sp->inf;  
        cout << inf << endl;  
        sp = sp->a;  
        delete spt; }  
    return NULL; }  
    
    tstk *AddStack(tstk *sp, int inf)  
    { tstk *spt=new tstk;  
    spt->inf = inf;  
    spt->a = sp;  
    return spt; }  
    
    tstk *ReadStackD(tstk *sp, int &inf)  
    { 
        if (sp == NULL) return NULL;  
        tstk *spt = sp;  
        inf= sp->inf;  
        sp = sp->a;  
        delete spt;  
        return sp; }  
    int main() 
    { 
        tstk*sp=NULL; 
        int i,j; 
        for(i=-50;i<=50;i++)
        {sp=AddStack(sp,i);
        cout<<i<<endl;
        }
        sp=DelStackAll(sp);
        system("PAUSE"); 
        return EXIT_SUCCESS; 
}
Мне нужно создать новый стек, содержащий только положительные числа из первого стека.
Как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 02:33     Стек содержащий только положительные числа
Посмотрите здесь:

Второй стек должен выводить только положительные числа с первого - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define LEN 21 int g_count1 = 0; int g_count2 = 0; int* g_v = NULL; int* g_v2 =...

Создать новый стек, содержащий только четные числа из заданного стека - C++
Создать стек с числами в диапазоне от –50 до +50. После создания стека выполнить индивидуальное задание. В конце работы все стеки должны...

вывести список содержащий только положительные элементы - C++
помогите с кодом! вообщем тема СПИСКИ! создаем список какой то......в него можно добавлять элементы, удалять, искать!!! с 1 по 10 пункт...

Поменять местами столбец матрицы с номером 1 и последний из столбцов, содержащий только положительные элементы - C++
Дана матрица размера MxN.Поменять местами столбец с номером 1 и последний из столбцов,содержащий только положительніе елементы.Если...

Обрезание массива: оставить только положительные числа - C++
Здравствуйте, уважаемые пользователи форума. Недавно начал изучать программирование, и при решении одной задачи возникла проблема: есть...

Как вывести только положительные числа массива - C++
Найдите количество положительных элементов в заданном списке. Формат входных данных Вводится список целых чисел. Количество чисел...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
01.12.2011, 22:50  [ТС]     Стек содержащий только положительные числа #2
Что, никто не может подсказать? )
Сыроежка
Заблокирован
02.12.2011, 01:27     Стек содержащий только положительные числа #3
ivan777,

У вас есть открытый интерфейс стека. Это метод заенсения в стек элемента AddStack и метод извлечения элемента из стека ReadStackD. Поэтому вы создаете пустой второй стек, а затем извлекаете из первого стека значение с помощью метода ReadStackD, проверяете, является ли оно положительным и заносите его во второй стек с помощью метода AddStack. В результате у вас первый стек окажется пустым, а второй стек будет содержать положительные элементы

Добавлено через 2 часа 27 минут
ivan777,

Я не знаю, работоспособный у вас код или нет. Но если его взять за основу, то функция main будет выглядеть так

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
// stack a.cpp : main project file.
 
#include "stdafx.h"
#include <cstdlib> 
#include <iostream> 
 
using namespace std; 
 
struct tstk  
{
        int inf;  
        tstk *a;
} ;  
        
        tstk *DelStackAll(tstk *sp)  
        { tstk *spt; int inf;  
        while(sp != NULL) {  
                spt = sp;  
                inf= sp->inf;  
                cout << inf << endl;  
                sp = sp->a;  
                delete spt; }  
        return NULL; }  
        
        tstk *AddStack(tstk *sp, int inf)  
        { tstk *spt=new tstk;  
        spt->inf = inf;  
        spt->a = sp;  
        return spt; }  
        
        tstk *ReadStackD(tstk *sp, int &inf)  
        { 
                if (sp == NULL) return NULL;  
                tstk *spt = sp;  
                inf= sp->inf;  
                sp = sp->a;  
                delete spt;  
                return sp; }  
        int main() 
        { 
                tstk*sp=NULL; 
                int i,j; 
                for(i=-50;i<=50;i++)
                {sp=AddStack(sp, ( i % 2 == 0 ? i : -i ) );
                cout<<i<<endl;
                }
                tstk*sp2=NULL;
                while ( sp )
                {
                    int inf;
                    sp = ReadStackD( sp, inf );
                    if ( inf > 0 ) sp2 = AddStack( sp2, inf );
                }
                sp2 = DelStackAll( sp2 );
  
                system("PAUSE"); 
                return EXIT_SUCCESS; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 01:53     Стек содержащий только положительные числа
Еще ссылки по теме:

Сформировать текстовый файл, содержащий только числа - C++
Дан файл, строки которого могут содержать и числа и слова. Сформулировать из него другой файл, содержащий только числа. Прошу, помогите...

Вывести только положительные целые числа в заданном диапазоне - C++
Пожалуйста, помогите )

Вывести на экран только положительные числа заданного массива - C++
Дан массив из 10 вещественных чисел вывести на экран только положительные числа заданного массива на си плюс плюс

Вывести на экран только положительные целые числа из диапазона от А до В - C++
Решить задачу, используя операторы циклов while и do…while Вывести на экран только положительные целые числа из диапазона от А до В (А&lt;В)...

Развернуть кратчайшую последовательность, которая содержит только положительные числа - C++
Помогите написать программу!!)) Дано натуральное число n (n&lt;=100) и последовательность действительных чисел r1, r2,..., rn. Развернуть...

Файл содержит числа и слова. Сформулировать файл, содержащий только числа. - C++
Дан файл,строки которого могут содержать и числа и слова. Сформулировать из него другой файл,содержащий только числа. ...


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

Или воспользуйтесь поиском по форуму:
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
02.12.2011, 01:53  [ТС]     Стек содержащий только положительные числа #4
Сыроежка, Большое спасибо)
Yandex
Объявления
02.12.2011, 01:53     Стек содержащий только положительные числа
Ответ Создать тему
Опции темы

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