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

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

Войти
Регистрация
Восстановить пароль
 
Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
#1

В текстовом файле записана формула. Вычислить значение данной формулы - C++

17.11.2010, 17:53. Просмотров 612. Ответов 5
Метки нет (Все метки)

1. В текстовом файле записана без ошибок формула вида: цифра или R(формула, формула), или L(формула, формула), где R обозначает функцию взять правое число, L – левое число. Вычислить значение данной формулы. Например: R(8, R(3, L(4,5))) = 4).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
 
stek fail_is_ocheredi (stek *s)
{
    struct stek *tmp1;
    tmp1 = s;
    if (ns == NULL)             //при нулевом указателе вершины
        cout << “Стек пуст!;
    else
    {
        cout << “Удаляем элемент” << tmp -> data;
        ns = tmp1 -> next;  //вершина - следующий элемент
        delete tmp1;            // освобождаем память
    };
    return s;
}
 
 
 
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 17:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В текстовом файле записана формула. Вычислить значение данной формулы (C++):

Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt - C++
например имеется текстовый файл 1.txt c таким содержанием 111 222 333 444 555 и имеется текстовый файл 2.txt c таким...

Функция вычисляющая значение выражения, записанного в постфиксной форме в текстовом файле - C++
Описать функцию value (postfix), которая вычисляет как целое число значение выражения (без переменных), записанного в постфиксной форме в...

Вычислить значение формулы - C++
Помогите пожалуйста , в текстовом файле записана без ошибок формула вида: &lt;формула&gt;=&lt;цифра&gt;|p(&lt;формула&gt;,&lt;формула&gt;)|m(&lt;формула&gt;,&lt;формула&gt;)...

Дано натуральное число n. Вычислить значение формулы - C++
Дано натуральное число n. Вычислить значение формулы. Помогите пожалуйста, кому не трудно. Формулы на фото прикреплены ниже а)\sum_{k =...

В файле записана последовательность целых чисел. Наибольшее из них записать во второй файл. - C++
Помогите, пожалуйста, решить задачу в С++ В файле записана последовательность целых чисел. Найти наибольшее из чисел и записать...

рекуррентные формулы,и различные циклы. Вычислить приблеженное значение бескноечной суммы - C++
Вычислить приближенное значение бесконечной суммы (при n стремящимся к бесконечности) с заданным общим членом двумя способами, используя...

5
ilya~k
3 / 3 / 1
Регистрация: 31.10.2010
Сообщений: 25
17.11.2010, 17:59 #2
В чем конкретно вопрос?
0
Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
17.11.2010, 18:04  [ТС] #3
вопрос в написании кода....
0
fasked
Эксперт С++
4945 / 2525 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
17.11.2010, 18:09 #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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
 
typedef int value_type;
 
typedef struct node_tag {
        struct node_tag *next;
        value_type value;
} node_t, *pnode_t;
 
typedef pnode_t stack_t, *pstack_t;
 
int empty(pstack_t head) {
        assert(head);
        return (*head == NULL);
}
 
int push(pstack_t head, value_type value) {
        pnode_t node = NULL;
        assert(head);
 
        if((node = (pnode_t)malloc(sizeof(*node))) == NULL) {
                fprintf(stderr, "stack overflow\n");
                return -1;
        }
 
        node->next = empty(head) ? NULL : *head;
        node->value = value;
        *head = node;
 
        return 0;
}
 
int pop(pstack_t head) {
        pnode_t node = *head;
        assert(head);
 
        if(empty(head)) {
                fprintf(stderr, "stack underflow\n");
                return -1;
        }
 
        *head = (*head)->next;
        free(node);
 
        return 0;
}
 
value_type top(pstack_t head) {
        assert(head);
 
        if(empty(head)) {
                fprintf(stderr, "stack underflow\n");
                return 0;
        }
 
        return (*head)->value;
}
 
int main() {
        stack_t s = NULL;
        int i = 0;
 
        for(i = 0; i < 205; ++i) {
                if(push(&s, i + 1) != 0)
                        exit(1);
        }
 
        while(!empty(&s)) {
                printf("%d -> ", top(&s));
                if(pop(&s) != 0)
                        exit(1);
        }
        printf("\b\b\b   \n");
 
        return 0;
}
1
Simonika
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 46
17.11.2010, 18:11  [ТС] #5
а можете с комментариями=)) Я ничего не понимаю
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
17.11.2010, 18:15 #6
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
#include <stack>
#include <vector>
#include <iostream>
 
// Для простоты примера стек содержит целочисленные переменные
// А в качестве промежуточного буфера используется не файл, а vector
 
int main()
{
        std::stack<int> s;
 
        // Заполнение стека числами от 0 до 9
        for(int i = 0; i < 10; ++i)
                s.push(i);
 
        // Допустим в стеке должны остаться все числа, кроме 5
        // Соответственно необходимо удалить элемент со значением 5
        std::vector<int> v;
        while(!s.empty())
        {
                if(s.top() != 5)                // Это ключевой момент, в стек помещаются
                        v.push_back(s.top());   // все элементы не равные 5
 
                s.pop();
        }
 
        // Теперь стек пустой, а вектор содержит все значения стека, кроме 5.
        // При этом первый элемент вектора содержит число 9.
        // Чтобы сохранить исходную последовательность в стеке
        // необходимо помещать элементы в стек, начиная с конца вектора.
        for(int i = v.size() - 1; i >= 0; --i)
                s.push(v[i]);
 
        // Для проверки выведем стек на экран
        while(!s.empty()) {
                std::cout << s.top() << ' ';
                s.pop();
        }
 
        return 0;
}
1
17.11.2010, 18:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2010, 18:15
Привет! Вот еще темы с ответами:

Поиск в текстовом файле всех слов, заданных в другом текстом файле - C++
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...

Заполнить массив a[n] с помощью данной формулы - C++
привет всем! пожалуйста помогите решить кто может!)))))) заполнить массив a с помощью формулы aі=a/2+ a тут a=1, a=1; (і=3,...,n). ...

Вычислить количество элементов в файле, значение которых больше среднего арифметического - C++
Дано файл , элементами которого являются целые числа. Вычислить количество элементов ,значение которых больше среднее арифметическое .

Движение в текстовом файле - C++
Мне нужно двигаться и считывать в строку символы до определенного символа, означающего конец строки(той в которую я записываю символы)....


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

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

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