|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
09.05.2013, 20:00 | #1 (permalink) |
Новичок
Регистрация: 09.05.2013
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, очень срочно, программа на C
Помогите реализовать его со связным списком: #include <stdio.h> #include <malloc.h> #include <math.h> int sp = 0; int stack[1000]; int pop(void) { if (sp > 0) { return stack[--sp]; } else { fprintf(stderr, "Pusto\n"); return 0; } }; void push(int a) { stack[sp++] = a; }; int empty() { return (sp == 0); } int main(int argc, char* argv[]) { FILE *stream=NULL; if (argc == 2) stream=fopen(argv[1],"w"); while (!feof(stdin)) { int c = getchar(); if(stream != NULL){ fprintf(stream,"%c", c); }; int x; switch (c) { case '\n': case ' ' : break; case '.' : x=pop(); if(stream != NULL){ fprintf(stream,"Result = %d\n", x); }; printf("Result = %d\n", x); break; case '+': stack[sp-2] = stack[sp-2] + stack[sp-1]; sp--; break; case '-': stack[sp-2] = stack[sp-2] - stack[sp-1]; sp--; break; case '*': c = getchar(); if(c != '*'){ ungetc(c,stdin); stack[sp-2] = stack[sp-1] * stack[sp-2]; } else{ if(stream != NULL) fprintf(stream,"%c", c); stack[sp-2] = pow(stack[sp-2], stack[sp-1]); }; sp--; break; case '/': stack[sp-2] = stack[sp-2] / stack[sp-1]; sp--; break; default: ungetc(c, stdin); if (scanf("%d", &x) != 1) { fprintf(stderr, "Can't read integer\n"); return -1; } else { push(x); } break; } } fclose(stream); return 0; } |
09.05.2013, 20:00 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Так же полезную информацию вы можете найти тут Помогите срочно пожалуйста. Помогите с задачей на С++ очень срочно нужно...пожалуйста Помогите, очень срочно надо собрать компьютер Помогите решить задачу по Паскалю. Срочно, пожалуйста. Помогите пожалуйста срочно решить задачу, подробно Помогите пожалуйста, очень нужно!! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|