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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
#1

Как прописать алгоритм... - C++

16.04.2011, 13:42. Просмотров 1473. Ответов 12
Метки нет (Все метки)

на С++...для перевода из 16 в 10 систему счисления?
там прописывать АBCDEF нужно?
вот у меня есть листинг польской записи, и вот к ней нужно добавить алгоритм перевода из 16 в 10...
принцип работы калькулятора таковой - вводишь выражение, например А3+В5*2/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
51
52
53
54
55
56
57
#include <iostream>
#include <string.h>
#include <math.h>
#include <stdio.h>
 
int main(void)
{
        float stack[70];
        float res;
        int m = 0;
        char query[100];
 
        printf("Vvedite vyrajenie: ");
        gets(query);
 
        for (int i = 0; i < strlen(query); i++)
        {
                if (query[i] >= '0' && query[i] <= '9')
                {
                        stack[m] = query[i] - '0';
                        m++;
                        continue;
                }
 
                switch (query[i])
                {
                        case '+':
                        {
                                res = stack[m - 2] + stack[m - 1];
                                break;
                        }
                        case '-':
                        {
                                res = stack[m - 2] - stack[m - 1];
                                break;
                        }
                        case '*':
                        {
                                res = stack[m - 2] * stack[m - 1];
                                break;
                        }
                        case '/':
                        {
                                res = stack[m - 2] / stack[m - 1];
                                break;
                        }
                }
 
                stack[m - 2] = res;
                m--;
        }
 
        printf("Otvet: %f", res);
        getchar();
 
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2011, 13:42     Как прописать алгоритм...
Посмотрите здесь:

Как прописать id файла - C++
Как можно прописать id файла, то так нельзя. Заранее благодарен. #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; ...

Как прописать формулу? - C++
Здравствуйте!Подскажите пожалуйста если есть формула http://plasmon.rghost.ru/49813032/image.png ,как прописать вот снизу эти коэффициенты...

Как прописать консольную команду - C++
Не подскажете как в консольном приложениии С++ прописать консольную команду Windows XP и как добввить ключь в реестр?

Не знаю как прописать main - C++
В университете задали написать прогу с различными функциями сортировки стеков, поиска мин элемента и тд. Функции написали, а вот main не...

Функции, ln, как прописать в программе? - C++
Приветствую, подскажите как прописать функции f1 (25 строчка) и f2 (31 строчка) #include &lt;iostream&gt; #include &lt;clocale&gt; #include...

Как прописать строки по- русски - C++
Как прописать строки по-русски, чтобы при выводе на экран не было иероглифов?

Как прописать в коде исходные СЛАУ - C++
Дано 6 уравнений с 6 ю неизвестными, как их прописать в коде что бы каждый раз их не вводить Уравнения: I1+I4-I2=0 I5+I3-I2=0 ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.04.2011, 13:56     Как прописать алгоритм... #2
tima39, Перевод в 10-ю из любой системы делается просто.
Пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
#include <iostream>
#include <cmath>
 
int toDecFromHex(const std::string& number)
{
    const int from = 16;
    const int to = 10;
    int result = 0;
    int i=0;
    for(std::string::const_reverse_iterator iter = number.rbegin(); iter != number.rend(); ++iter)
    {
         int some_var = 0;
         if(*iter >= 'A')
            some_var = *iter - 'A' + to;
         else
            some_var = *iter - '0';
         result += some_var * static_cast<int>(pow(static_cast<double>(from), static_cast<double>(i)));
         ++i;
     }
     return result;
}
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
16.04.2011, 13:58  [ТС]     Как прописать алгоритм... #3
тут пример буквы А?
этот листинг мне в начале воткнуть или после?
я вообще не понимаю а то
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.04.2011, 14:00     Как прописать алгоритм... #4
tima39, Это пример перевода из 16-ой в 10-ю любого числа, которое влезет в тип int.
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
16.04.2011, 14:02  [ТС]     Как прописать алгоритм... #5
то есть в выражениях типа А3+В5*2/3, он будет читать,вычислять и переводить?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.04.2011, 14:06     Как прописать алгоритм... #6
tima39, Нет. Он будет переводить. Только. Остальное сами. Да и это вам придется переписать под свой уровень.
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
16.04.2011, 14:10  [ТС]     Как прописать алгоритм... #7
спасибо...
правда я не могу понять этот уровень, чтобы переписать на самый низший уровень
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.04.2011, 14:23     Как прописать алгоритм... #8
tima39, Откройте справочник да посмотрите. Ничего сложного.

Функция принимает строку - начиная с конца строки берет каждый символ, если символ > 'A' - отнимает от символа 'A' и прибавляет 10, т.к. 65-65+10 = 10, 67-65+10=12 (C), если символ от 1 до 9 - отнимает '0' (код 48), таким образом получаем число от 1 до 9.
Далее умножаем получившееся число на 16^i и прибавляем к результату. Все. Обычный алгоритм.
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
16.04.2011, 15:25     Как прописать алгоритм... #9
ForEveR, использование итераторов, для прохождения строки быстрее за простой проход по индексам?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.04.2011, 15:42     Как прописать алгоритм... #10
outoftime, Предпочитаю использовать итераторы для STL контейнеров. Концептуальнее правильнее. ИМХО.
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
17.04.2011, 08:46  [ТС]     Как прописать алгоритм... #11
Цитата Сообщение от ForEveR Посмотреть сообщение
outoftime, Предпочитаю использовать итераторы для STL контейнеров. Концептуальнее правильнее. ИМХО.
паааарни, а можете помочь, пожалуйста с калькулятором (из 16 в 10...С++..польская запись..в консоли), а то курсач сдавать послезавтра, а я не разбираюсь в программировании...буду очень благодарен...первокурсник..ничего не знаю(( стыд и позор *facepalm*
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.04.2011, 11:11     Как прописать алгоритм... #12
tima39, ты теорию откуда брать будешь? Правильно - из наших разговоров, так что не мешай (:
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2011, 11:13     Как прописать алгоритм...
Еще ссылки по теме:

Как прописать grandchild френдом parent? - C++
Есть класс parent. От него наследуется класс child. Внутри класса child объявлен класс grandchild. Как прописать grandchild френдом parent?...

Как прописать в программе число П и сумму - C++
Помогите прописать в коде сумму и П

Как прописать условие не меньше и не равно? - C++
К примеру это выражение &quot;!=&quot; означает не равно, но как будет выглядеть не меньше и не равно?

Как правильно прописать данный код программы? - C++
#include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; #include &lt;cstdlib&gt; using namespace std; double masA={0}; long H(double...

Как заранее прописать нужный шрифт в консоль? - C++
Например мне нужно, чтобы шрифт в консоле по умолчанию устанавливался в Lucida Console. Буду благодарен:)


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

Или воспользуйтесь поиском по форуму:
tima39
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 15
17.04.2011, 11:13  [ТС]     Как прописать алгоритм... #13
не оскорбляй опыт и нестремление новичка учиться программировать
Yandex
Объявления
17.04.2011, 11:13     Как прописать алгоритм...
Ответ Создать тему
Опции темы

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