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

Реализация стека на массиве и динамическом распределении памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите цикл для поиска количества различных чисел среди элементов массива http://www.cyberforum.ru/cpp-beginners/thread514800.html
Подскажите цикл для поиска количества различных чисел среди элементов массива a Например если я введу массив 1 2 3 1 4 8 2 3 5 3 Получается 6 различных чисел 1 2 3 4 8 5 Соответственно покажет 6 Нужен только цикл сам Тему случайно так назвал забыл раскладку клавиатуры сменить)
C++ файлы в файле есть строки данных, нужно в каждой итерации считать в одну переменную символ и потом в другую переменную всю остальную строку в конечном результате я должен получить map<char, stack<char>> хммм... блин map сортирует( что можно в замен него использовать? http://www.cyberforum.ru/cpp-beginners/thread514791.html
Создать класс Vector – вектор, используя динамическую память C++
Может кто подскажет листинг этой программы???
Не работает одно исключение ввода C++
Скажем так, это часть проги, должна проверять ввод значений, чтоб они были не нулевые, это условие работает, и чтоб элемент массива e1 был равен 3, иначе ошибка, и вот тут проблемы, т к на это условие он неадекватно реагирует и выводит Введите коэффициент x^3=1 Ошибка Введите коэффициент x^3=2 Ошибка Введите коэффициент x^3=3 Ошибка
C++ Создание искажения звука http://www.cyberforum.ru/cpp-beginners/thread514692.html
Есть мр3 файл, хочу исказить выводимый звук или добавить эффект. Использую библиотеку Bass для воспроизведения звука. Если нельзя через библиотеку bass, то каким другим способом можно исказить звук?
C++ Отрицательный цикл Помогите пожалуйста с задачкой, решил, но не проходит 1 тест. Условие: ограничение времени на тест: 0.5 сек. ограничение памяти на тест: 65536 KB. Дан орграф. Определить, есть ли в нем цикл отрицательного веса, и если да, то вывести его. Входные данные Во входном файле в первой строке записаны числа N, M (1 <= N <= 1000; 0 <= M <= 10000), количество вершин графа и ребер соответственно. ... подробнее

Показать сообщение отдельно
eddilou
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
11.03.2012, 22:03  [ТС]     Реализация стека на массиве и динамическом распределении памяти
всем привет еще раз, пытаюсь сделать теперь реализацию стека с использованием динамич распред памяти и не пойму почему компилятор (VS 2010) ругается Не обработанное исключение
вот код
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
96
97
98
99
100
101
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
 
const int MS=101;
char stack[MS]={0}; 
int t=0;
 
void PUSH(char y)
    {
        if(t==MS-1) {cout<<endl<<"Operaciya zapisi v stek nevozmojena, stek perepolnen"<<endl; system("PAUSE"); exit(0);} 
        else{
            t=t+1;
            stack[t]=y;}
    }
 
char POP()
    {
        if(t==0) {cout<<"Operaciya chteniya iz steka nevozmojna, stek pust"<<endl; system("PAUSE"); exit(0);}
        else{
            t=t-1;
            return stack[t+1];}
    }
 
struct Stack
        {
            char info;
            Stack *next;
                        } *st=NULL;
 
void _PUSH(char y)
    {
        Stack *Tmp = new Stack;
        Tmp->info=y;
        Tmp->next=st;
        st=Tmp;
        delete Tmp;
    }
 
char _POP()
    {
        Stack *Tmp = new Stack;
        Tmp=st;
        st=Tmp->next;
        delete Tmp;
        if(st!=NULL) return st->info;
        else return 0;
    }
void main()
{
    FILE *fps;
    fps=fopen("text.txt", "r");
 
    char *str;
    str=new char [MS];
    int i;
    while(!feof(fps))
        {
            fgets(str, MS, fps);
            for(i=0; str[i]!='\0'&& str[i]!='\n'; i++)
            {
               cout<<str[i];
            }
            if(str[i]=='\n') cout<<endl;
        }
    delete (str);
    cout<<endl<<endl;
    rewind(fps);
//--------------------------Реализация стека на массиве-----------------------------------------
/*  char c;
    while(!feof(fps))
        {
            c=fgetc(fps);
            if(feof(fps)){while(t!=0) cout<<POP(); cout<<"\n";}
            if(c!=' ' && c!='\n') PUSH(c);
            if(t==0 & c!='\n') POP();
            if(c=='\n'){while(t!=0) cout<<POP(); cout<<"\n";}
            if(c==' '){while(t!=0) cout<<POP(); cout<<" ";}
        }*/
//--------------Реализация стека с использованием динамического распределения памяти----------
    char c;
    while(!feof(fps))
        {
            c=fgetc(fps);
            if(feof(fps)){while(st!=NULL) cout<<_POP(); cout<<"\n";}
            if(c!=' ' && c!='\n') _PUSH(c);
            if(t==0 & c!='\n') _POP();
            if(c=='\n'){while(st!=NULL) cout<<_POP(); cout<<"\n";}
            if(c==' '){while(st!=NULL) cout<<_POP(); cout<<" ";}
 
 
        }
    
    
    
    system("PAUSE");
    fclose(fps);
}
подскажите в чем ошибка....

Добавлено через 10 часов 36 минут
и разве никто ничего не знает???

Добавлено через 9 часов 16 минут
Народ, разве никто не может ничем помочь?.....
 
Текущее время: 18:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru