powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / динамический #define
13 сообщений из 88, страница 4 из 4
динамический #define
    #39987894
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81
mini.weblab,
Я понял. У вас подход другой.
Но такие страсти не требуются. Калькулятор реализованный в k&r работает иначе чем вы думаете. В результате все проще.

P. S. Вы таким образом описали реализацию самого калькулятора работающего по другому алгоритму отличного от того что у k&r :))

Ага щас.
Вот алгоритм приведенный в этой книге, ссылку на которую вы выше давали.
Это ровно то что реализовано в коде у mini.weblab .
Никаких множества паттернов для чтений нескольких чисел за один проход в нем нет, это ваша отсебятина ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
while(следующий элемент не конец-файла)
  if(число)
    послать его в стек
  elseif(оператор)
    взять из стека операнды
    выполнить операцию
    результат послать в стек
  elseif(новая-строка)
    взять с вершины стека число и напечатать
  else
    ошибка
...
Рейтинг: 0 / 0
динамический #define
    #39987896
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
andron81
mini.weblab,
Я понял. У вас подход другой.
Но такие страсти не требуются. Калькулятор реализованный в k&r работает иначе чем вы думаете. В результате все проще.

P. S. Вы таким образом описали реализацию самого калькулятора работающего по другому алгоритму отличного от того что у k&r :))

Ага щас.
Вот алгоритм приведенный в этой книге, ссылку на которую вы выше давали.
Это ровно то что реализовано в коде у mini.weblab .
Никаких множества паттернов для чтений нескольких чисел за один проход в нем нет, это ваша отсебятина ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
while(следующий элемент не конец-файла)
  if(число)
    послать его в стек
  elseif(оператор)
    взять из стека операнды
    выполнить операцию
    результат послать в стек
  elseif(новая-строка)
    взять с вершины стека число и напечатать
  else
    ошибка



Да, только она сначала говорила про рекурсивную реализацию и про паттерн %d %d %c. А потом реалищовала примерно так как в книге. Читайте все, а не последние 2 сообщения раз хотите поумничать
...
Рейтинг: 0 / 0
динамический #define
    #39987900
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
И у нее 2 паттерна между прочим, если уж на то пошло 😂😂
...
Рейтинг: 0 / 0
динамический #define
    #39987902
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81
Читайте все, а не последние 2 сообщения раз хотите поумничать

ОК. Читаю все:

andron81
2. нужно сформировать все различные паттерны исходя из N , скажем для примера это шаблон :
"%d %d %c %d %d %c %c"
и другие ...


mini.weblab
1)
2)
в польской постфикс записи используется один единственный шаблон: число число оператор


Таким образом вы не только не помните что сами писали так еще и другим так какие-то претензии предъявляете
...
Рейтинг: 0 / 0
динамический #define
    #39987905
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам что платят за троллинг не пойму?

andron81
2. нужно сформировать все различные паттерны исходя из N , скажем для примера это шаблон :
"%d %d %c %d %d %c %c"
и другие ...


вот эта первоначальная моя идея давно уже потерпела фиаско .
Потом Сибиряков подкинул другую с различными паттернами (раз уж я хотел завязать различные паттерны и более менее полноценно использовать возможности scanf/sscanf, а не просто sscanf("%c", &c ) и sscanf("%d", &d ) - такая реализация ежу ясна ) , что успешно и было мной реализовано

mini.weblab
1)
2)
в польской постфикс записи используется один единственный шаблон: число число оператор

вот это подрузамевает шаблон "%d %d %c" . и где-то рядом она упоминала рекурсию.
а потом она реализует примерно так как в книге. где в её реализации этот шаблон и рекурсия?
к ней вопросы и адресуйте.
...
Рейтинг: 0 / 0
динамический #define
    #39987906
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81,

скажу совсем в другом русле...

дефайн история то не для си плас плас... в умных рекомендациях утверждают что получше будет типизация того, что мы задаём. ну типо статик каста. Оно как бы задаёт типизацию, и подлежит контролю со стороны компилятора.


(круглый)
...
Рейтинг: 0 / 0
динамический #define
    #39987909
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky

Никаких множества паттернов для чтений нескольких чисел за один проход в нем нет, это ваша отсебятина ))


и где я говорил, что в её коде множество паттернов или один проход ? я её код ваще не комментировал.
...
Рейтинг: 0 / 0
динамический #define
    #39987915
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky

Никаких множества паттернов для чтений нескольких чисел за один проход в нем нет, это ваша отсебятина ))


И я не говорил, что в коде у K&R есть какие-то паттерны в калькуляторе. там даже scanf не используется. имелось ввиду, что принцип работы тот же , я его и использую (принцип : занес в стек, посчитал , нарисовал результат) - всё так кроме того как данные из строки вырезаются(это и есть суть всего этого топика). И сложилось впечатление, что человек стал описывать мне алгоритм работы калькулятора(причем алгоритм рекурсивный заявил, а строку хотел резать шаблоном "%d %d %c"), а потом реализовал зачем-то полностью причем реализация совпала с книжной (и нет ни рекурсии , ни заявленного шаблона). а теперь вы меня тролите вопросами за чужой код зачем-то.
...
Рейтинг: 0 / 0
динамический #define
    #39987981
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81

И я не говорил, что в коде у K&R есть какие-то паттерны в калькуляторе. там даже scanf не используется. имелось ввиду, что принцип работы тот же , я его и использую (принцип : занес в стек, посчитал , нарисовал результат) - всё так кроме того как данные из строки вырезаются(это и есть суть всего этого топика). И сложилось впечатление, что человек стал описывать мне алгоритм работы калькулятора(причем алгоритм рекурсивный заявил, а строку хотел резать шаблоном "%d %d %c"), а потом реализовал зачем-то полностью причем реализация совпала с книжной (и нет ни рекурсии , ни заявленного шаблона). а теперь вы меня тролите вопросами за чужой код зачем-то.

Просто вы не разделяете польскую постфикс запись и алгоритм для калькулятора, работающего по польской постфикс записи.
Перед тем как писать алгоритм работы калькулятора, основанного на польской постфикс записи, нужно разобраться, как эта самая запись работает. Как я уже говорила, в основе польской постфикс записи лежит один единственный шаблон (число, число, оператор). После того как мы разобрались, как работает постфикс можно начать писать код. И естественно, первое, что приходит в голову, это решить задачу в лоб, т.е. использовать шаблоны и работать со строкой, что жутко неудобно, дальше мы думаем, что гораздо удобнее было бы работать с числами (а не заморачиваться со строками), и думаем как же это сделать? И тогда мы приходим к решению КР, т.е. мы записываем числа в стек и дальше для подсчетов используем наш шаблон (число число оператор).

По поводу вырезать данные, я вам сразу сказала, что мне больше всего нравится вариант с токенами и scanf("%d"), scanf("%c").
...
Рейтинг: 0 / 0
динамический #define
    #39987982
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab

По поводу вырезать данные, я вам сразу сказала, что мне больше всего нравится вариант с токенами и scanf("%d"), scanf("%c").

IMHO Он не "больше нравится", это единственный более менее вменяемый алгоритм.
...
Рейтинг: 0 / 0
динамический #define
    #39987987
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini.weblab

Просто вы не разделяете польскую постфикс запись и алгоритм для калькулятора, работающего по польской постфикс записи.
Перед тем как писать алгоритм работы калькулятора, основанного на польской постфикс записи, нужно разобраться, как эта самая запись работает.

у меня с этим проблем нету. потому что алгоритм разжован в книге. b более того калькулятор реализован там же хоть и по средством getchar()


mini.weblab

Как я уже говорила, в основе польской постфикс записи лежит один единственный шаблон (число, число, оператор).

в случае двухместных операций - да ! у нас все двухместные.


mini.weblab

И естественно, первое, что приходит в голову, это решить задачу в лоб, т.е. использовать шаблоны и работать со строкой, что жутко неудобно, дальше мы думаем, что гораздо удобнее было бы работать с числами (а не заморачиваться со строками), и думаем как же это сделать? И тогда мы приходим к решению КР, т.е. мы записываем числа в стек и дальше для подсчетов используем наш шаблон (число число оператор).
По поводу вырезать данные, я вам сразу сказала, что мне больше всего нравится вариант с токенами и scanf("%d"), scanf("%c").

да, возможно , но вы написали вот это, а это похоже на рекурсивный алгоритм с использованием шаблона %d %d %c :
mini.weblab

а давайте я все-таки попробую:
1 2 + 3 4 - * = 3 3 4 - * = 3 -1 * = -3

а потом вы все же реализовали идей scanf("%d") и scanf("%c").
поэтому при общении с московским мне пришлось раскритиковать ваши комменты - не код (мне показалось, что вы проговорили один алгоритм , а реализовали при помощи scanf("%d") и scanf("%c"))
но я был без претензий вообще пока меня не подтролили .
я уже давно все выяснил и уже бы давно прикрыл бы тему, но нет же...
...
Рейтинг: 0 / 0
динамический #define
    #39987988
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mini.weblab

По поводу вырезать данные, я вам сразу сказала, что мне больше всего нравится вариант с токенами и scanf("%d"), scanf("%c").

IMHO Он не "больше нравится", это единственный более менее вменяемый алгоритм.


у меня первично основная тема была это использование scanf и sscanf , а не постфиксный калькулятор. если бы второй вариант, то да вы правы. а с несколькими шаблонами лучше иллюстрирует тему scanf и sscanf. поэтому для меня моя реализация прикольней :)
Вот в чем мои мотивы .
...
Рейтинг: 0 / 0
динамический #define
    #39988868
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно закрывать тему
...
Рейтинг: 0 / 0
13 сообщений из 88, страница 4 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / динамический #define
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]