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

Из инфиксной нотации в постфиксную - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод числе из 10 в 2 СС http://www.cyberforum.ru/cpp-beginners/thread1040162.html
Помогите пожалуйста дописать код, чтоб отрицательные числа переводил. Только без применения строк. (мб как нибудь с for,if) #include <stdio.h> #include <conio.h> #include <math.h> #include "iostream" using namespace std; void dovich(int); // прототип функции void dvoich(int x1) //x1 равен тому, что мы передаем в функцию в качестве аргумента x1=a
C++ Подскажите библиотеку.наверно библиотеку VS2012 не хочет считать числа например 654367^534, 54266^34 вообщем любые большие числа я так понял даже long double не справляется с этой задачей . Например есть чисела p=54366672 , g=654745 , x=535 , y=(g^x) mod p Дальше с этими числа проводятся различные операции типо возведения в степень y=(g^x) mod p и тд. Как заставить компилятор считать такое? http://www.cyberforum.ru/cpp-beginners/thread1040143.html
Сформировать массив сумм элементов столбцов матрицы (где ошибка?) C++
матрицу выводи правильно,но при подсчете суммы выдает ошибку, если использовать не равные значения строк и столбцов. Подскажите, как это можно исправить. Заранее спасибо! // kyrs.cpp: определяет точку входа для консольного приложения. //
Добавить элемент в упорядоченный список так, чтобы его упорядоченность не нарушалась C++
Здравствуйте уважаемые! очень нужна помощь. Написать программу, которая осуществляет обработку списков целочисленных элементов, представленных с помощью структур. Добавить элемент в упорядоченный по убыванию список так, чтобы эта упорядоченность не нарушалась. Извините, если тема повторялась, не нашел. Если Вам не сложно, то желательно написать код программы.Большое спасибо!
C++ Исправить ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1040130.html
помогите найти ошибку . студия 2012 #include <iostream> #include "queue.h" using namespace std; int main() { Queue a,c; cin >> a;
C++ как понять значение кода с++ Доброго времени суток. Нашел такой код с++ // таблица замен byte Tab_Z = { 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF, ... подробнее

Показать сообщение отдельно
monolit
179 / 179 / 21
Регистрация: 24.03.2011
Сообщений: 641
Завершенные тесты: 1
13.12.2013, 20:33     Из инфиксной нотации в постфиксную
Во первых, это что такое:
Цитата Сообщение от GoodDay Посмотреть сообщение
stack[i] = NULL;
Я понимаю, что макрос, и все такое, но если решил писать вместо нуля всякие штуки, то нужно знать, где нужно, а где нет. stack[i] - не указатель =>
C++
1
stack[i] = 0;
можно было б stack=NULL, но это другой вопрос.
Во вторых, codepad.org ругается на конструктор, да оно и верно: в таких случаях лучше писать так, не ошибешься и потенциальных ошибок не будет:
C++
1
calc(const char* str)
По теме:
первое. У тебя неправильный pop. Надо так:
C++
1
2
3
4
char pop()
    {
        return stack[--n]; // n ведь указывало на следующий за последним, т.е. посл. - (n-1)-й
    }
второе. Память выделяй на 1 больше чем размер входной - не забывай про '\0', и не забывай в конце calc
C++
1
PostfixStroka[j]='\0';
третье. Алгоритм у тебя неправильный. Он то переводит в постфиксную, но приоритеты (а в оригинальном алгоритме учитываются приоритеты операций) не учитывает -> правильно будет работать только с +/-. А приоритеты учитывать надо...
ну и напоследок. Зачем писать везде this->pop() и т.п., т.е. использовать this? Другую функцию, не this, он и не вызовет, нету ее просто, поэтому это лишнее.
Вот такие дела.
 
Текущее время: 11:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru