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

Стеки, где-то косяк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ первый отрицательный элемент целочисленного массива http://www.cyberforum.ru/cpp-beginners/thread218867.html
Помогите пожалуйста написать программу через функцию которая бы вычисляла x0+x0*x1+x0*x1*x2+...+x0*...*x(m), где m - первый отрицательный элемент целочисленного массива, или до n-1 если отрицательных нет.
C++ Сайт откр. с сообщением Здравствуйте, господа. У меня при запуске программы и нажатии клавиши V откр. сайт, однако появляется сообщение в том случае, если не был откр. браузер до выполнения данной функции. #include "stdafx.h" #include <iostream> #include <Windows.h> int x; http://www.cyberforum.ru/cpp-beginners/thread218864.html
Многочлен C++
Привет всем. Помогите пожалуйста решить задачу. Задаются действительные числа a и b. Нужно построить многочлен (x^2+a(нулевое)x + b(нулевое)(x^2+a(первое)x+b(первое)...(x^2+a(енное)x+b(енное) Надеюсь объяснение условия понятно. Буду очень признателен.
Преобразование строк C++
Написать и протестировать функцию, которая преобразует строку двоичных цифр в эквивалентное ей целое десятичное число.
C++ Просто расставить комменты, прога очень маленькая) Только сегодня , пожалуйста http://www.cyberforum.ru/cpp-beginners/thread218834.html
Расставьте комменты . #include <string.h> #include <stdio.h> #include <conio.h> #include <locale.h> #include <iostream.h> #include <ctype.h> void main()
C++ TCHAR и текст Знаю что эта тема неоднократно обсуждалась, но ввиду моих способностей, не могу до конца понять. Суть вопроса вот в чем. Как можно в переменную типа TCHAR добавить текст, и потом отобразить этот же текст? что то в роде такого: TCHAR tch=L"Hello!"; cout << "tch= " << tch << endl; или такого: подробнее

Показать сообщение отдельно
Manson13
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 25

Стеки, где-то косяк - C++

23.12.2010, 17:56. Просмотров 209. Ответов 0
Метки (Все метки)

В текстовом файле записан текст, сбалансированный по круглым скобкам. Написать программу, которая для каждой открывающей и, соответственно, закрывающей пары скобок печатает номера их позиций в тексте, упорядочив пары в порядке возрастания номеров позиций закрывающих скобок. Например: для текста a+(45-f(x)*(b-с)) надо напечатать 8, 10; 12, 16; 3, 17.
Она работает...но выводит лишние значения и нормально не завершается, вылетает.
Исправьте пожалуйста)
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
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
 
struct stek
{
    int data;
    struct stek *next;
};
 
stek *vstek (stek *ns, int x)
{
    stek *tmp1;
    tmp1 = new struct stek;
    tmp1 -> data = x;
    tmp1 -> next = ns;
    ns = tmp1;
    return ns;
}
 
stek *izsteka (stek *ns)
{
    struct stek *tmp1;
    tmp1 = ns;
    if (ns == NULL)
        cout << "stek pust";
    else
    {
    //  cout << tmp1 -> data;
        ns = tmp1 -> next;
        delete tmp1;
    }
    return ns;
}
void main ()
{
int i,j,n,a,m,chislo;
char *msg;
stek *ns;
int massiv[10];
FILE *f;
j = 0;
m = 0;
clrscr();
f = fopen("f2.dat", "r");
while (!feof(f))
{  
    fgets(msg,255,f);
    for (i=0;i<strlen(msg);i++)
    {       
    if (msg[i] == ')')
        {   
        m = i;
        a = 0;
        for (i=0;i<strlen(msg);i++)
        {
            if (msg[i] == '(' && i < m)
            a = i + 1;  
                
        }   
        for (j = 0; j < n; j++)
        {
            if (massiv [j] == a)
            {
            a = 0;
                for (i=0;i<strlen(msg);i++)
                {
                    if (msg[i] == '(')
                    {
                        if (a == 0)
                            a = i + 1;
                    }
                }
            }
        }
        i = m;
        massiv [j] = a;
        //ns=vstek (ns, a);
        massiv [j + 1] = i + 1;
        //ns=vstek (ns, i + 1);
        j = j + 2;
        n = j;
        }       
    }   
}   
for (j = n - 1; j > -1; j--)    
{   
    chislo = massiv [j];
    ns=vstek (ns, chislo);
}
while (ns!=NULL)
    {
    cout << ns->data<< " , " ;
    ns=izsteka (ns);
    }
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru