[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

№14000  

#include <stdio.h>
float err=0, vars[27], q, r; char s1[1024]=" ", *st=s1+1, *x, *y, g, f=1;
float main(char *s, int i1, int i2, int u)
{ char c=0, op[]=",=+-*/", *p, *t, d; int br=0, i;
if (f) goto l1; else if (i1>i2) { err=err?1:!u; return 0; }
for (p=op; *p; p++)

 for (i=(*p=='='?i1:i2); d=s[i],(*p=='='?i<=i2:i>=i1); (*p=='='?i++:i--))
if(!br&&d==*p){c=*p;goto l;} else if(d=='('||d==')')br+=(d=='('?1:-1);

l: if (c==',') { main(s, i1, i-1, 0); return main(s, i+1, i2, 0); }
if(d=s[i1]&223,c=='=') return i1==i-1&&d>64&&d<91?vars[d-65]=main(s,i+1,i2,0):(err=1,0);
if((s[i-1]&223)!='E'&&(c=='+'||c=='-'))return main(s,i1,i-1,1)+(44-c)*main(s,i+1,i2,0);
if (c=='/') {q=main(s, i+1, i2, 0); return q?main(s, i1, i-1, 0)/q:(err=1);}
if (c=='*') return main(s, i1, i-1, 0)*main(s, i+1, i2, 0);
if(s[i1]=='(') return s[i2]==')'?main(s, i1+1, i2-1, 0):(err=1,0);
if (i1==i2 && (s[i1]&223)>64 && (s[i1]&223)<91) return vars[(s[i1]&223)-65];

 return (sscanf(s+i1,"%g%n",&r,&i) && i==i2-i1+1)?r:(err=1, 0);

l1:for(f=0,gets(st),x=st,y=st; err=0,g=x,(x>st?(x-1):*st); x++)

 if(g!=' '||*(y-1)>47&&*(y-1)<58&&*(x+1)>47&&*(x+1)<58)*(y++)=(g?*x:0);

if (printf((err?"Error!\n\n":"%g\n\n"), main(st, 0, y-st-2, 0))) goto l1;
}

>> №14001  

Программач, это такой хитрый гет?

>> №14002  

>>14001
А хуй его знает. Оп же не умеет пользоваться вакаба-разметкой и вставлять код, не говоря уж о pastebin.com, так что часть кода утеряна.

>> №14011  

>>14000 >>14002 ничего не утеряно
``#include <stdio.h>
float err=0, vars[27], q, r; char s1[1024]=" ", *st=s1+1, *x, *y, g, f=1;
float main(char *s, int i1, int i2, int u)
{ char c=0, op[]=",=+-*/", *p, *t, d; int br=0, i;
if (f) goto l1; else if (i1>i2) { err=err?1:!u; return 0; }
for (p=op; *p; p++)

 for (i=(*p=='='?i1:i2); d=s[i],(*p=='='?i<=i2:i>=i1); (*p=='='?i++:i--))
if(!br&&d==*p){c=*p;goto l;} else if(d=='('||d==')')br+=(d=='('?1:-1);

l: if (c==',') { main(s, i1, i-1, 0); return main(s, i+1, i2, 0); }
if(d=s[i1]&223,c=='=') return i1==i-1&&d>64&&d<91?vars[d-65]=main(s,i+1,i2,0):(err=1,0);
if((s[i-1]&223)!='E'&&(c=='+'||c=='-'))return main(s,i1,i-1,1)+(44-c)*main(s,i+1,i2,0);
if (c=='/') {q=main(s, i+1, i2, 0); return q?main(s, i1, i-1, 0)/q:(err=1);}
if (c=='*') return main(s, i1, i-1, 0)*main(s, i+1, i2, 0);
if(s[i1]=='(') return s[i2]==')'?main(s, i1+1, i2-1, 0):(err=1,0);
if (i1==i2 && (s[i1]&223)>64 && (s[i1]&223)<91) return vars[(s[i1]&223)-65];

 return (sscanf(s+i1,"%g%n",&r,&i) && i==i2-i1+1)?r:(err=1, 0);

l1:for(f=0,gets(st),x=st,y=st; err=0,g=x,(x>st?(x-1):*st); x++)

 if(g!=' '||*(y-1)>47&&*(y-1)<58&&*(x+1)>47&&*(x+1)<58)*(y++)=(g?*x:0);

if (printf((err?"Error!\n\n":"%g\n\n"), main(st, 0, y-st-2, 0))) goto l1;
}``

>> №14013  

http://pastebin.com/m6363b172
если чо так

>> №14020  

>>14013
И зачем эта хуйня нужна?

>> №14022  

>>14020
Калькулятор

>> №14047  
калькулируй
@
вычисляй
>> №14367  
Файл: 1249422252878.png -(89кб, 407x405) Показана уменьшенная копия, оригинал по клику.
89

>>14047

>> №14723  

>>14000

Open Watcom C/C++32 Compile and Link Utility Version 1.7
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.

   wpp386 calc.cpp 

Open Watcom C++32 Optimizing Compiler Version 1.7
Portions Copyright (c) 1989-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
calc.cpp(9): Error! E466: col(22) 'main' cannot be referenced
calc.cpp(9): Error! E466: col(46) 'main' cannot be referenced
calc.cpp(10): Error! E466: col(66) 'main' cannot be referenced
calc.cpp(11): Error! E466: col(50) 'main' cannot be referenced
calc.cpp(11): Error! E466: col(74) 'main' cannot be referenced
calc.cpp(12): Error! E466: col(19) 'main' cannot be referenced
calc.cpp(12): Error! E466: col(49) 'main' cannot be referenced
calc.cpp(13): Error! E466: col(23) 'main' cannot be referenced
calc.cpp(13): Error! E466: col(43) 'main' cannot be referenced
calc.cpp(14): Error! E466: col(37) 'main' cannot be referenced
calc.cpp(19): Error! E466: col(44) 'main' cannot be referenced
calc.cpp: 20 lines, included 1164, no warnings, 11 errors
Error: Compiler returned a bad status compiling "calc.cpp"

>> №14730  
Файл: 1249566665562.jpg -(105кб, 750x600) Показана уменьшенная копия, оригинал по клику.
105
>> №14739  

>>14723

float main(char *s, int i1, int i2, int u)

переименуй в smain какой-нить

а маин сделай void main(){ .... }

>> №14740  

И да, в ватком C C++ никакой вообще.

>> №14749  

>>14739

так и сделал, но эта сука, чтобы все скомпилилось, заставила в конец этой smain вставить return 1; - без этого писала ошибку "missing return value"

>> №14759  

>>14749

Ну так она объявлена, что возвращает float.



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]