•alexandru92
|
 |
« Răspunde #25 : Ianuarie 24, 2010, 15:35:55 » |
|
Ai pus %D la primul fscanf 
|
|
|
Memorat
|
|
|
|
•johsonsbabi
Strain
Karma: 2
Deconectat
Mesaje: 10
|
 |
« Răspunde #26 : Ianuarie 24, 2010, 16:22:46 » |
|
ms frumos  nu inteleg de ce pe teste a mers si pe infoarena nu /:| chestiile astea sunt ciudate, nu cred ca o sa inteleg vreodata
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #27 : Ianuarie 24, 2010, 16:31:01 » |
|
Limbajele C si C++ sunt CaseSensitive, adica fac diferenta intre majuscule si minuscule. Spre exemplu, pot sa declari variabilele min, Min sau MIN si fiecare va stoca o valoare diferita. In Pascal min este tot una cu MIN. 
|
|
|
Memorat
|
|
|
|
•alexandru92
|
 |
« Răspunde #28 : Ianuarie 24, 2010, 16:38:33 » |
|
ms frumos  nu inteleg de ce pe teste a mers si pe infoarena nu /:| chestiile astea sunt ciudate, nu cred ca o sa inteleg vreodata Defapt daca compilezi cu g++ file_name.cpp -static -W -O2 -o file_name -lm (pt c++ ) gcc file_name.c -static -W -O2 -o file_name -lm (pt c ) nu o sa mearga...
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #29 : Ianuarie 24, 2010, 17:06:11 » |
|
Linux-ul este case sensitive, windows-ul nu.
|
|
|
Memorat
|
|
|
|
|
•alexandru92
|
 |
« Răspunde #31 : Ianuarie 24, 2010, 17:27:33 » |
|
Linux-ul este case sensitive, windows-ul nu.
Daca te referi la comenzi da
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #32 : Ianuarie 24, 2010, 20:41:30 » |
|
Ma refeream la comenzi, la fisiere, si probabil poate fi si "%D" case insensitive pe windows. Nu stiu, pt ca nu lucrez pe windows. In orice caz, cred ca difera de la un compilator la altul cum gestioneaza acest format.
|
|
|
Memorat
|
|
|
|
•alexandru92
|
 |
« Răspunde #33 : Ianuarie 25, 2010, 13:07:56 » |
|
Ma refeream la comenzi, la fisiere, si probabil poate fi si "%D" case insensitive pe windows. Nu stiu, pt ca nu lucrez pe windows. In orice caz, cred ca difera de la un compilator la altul cum gestioneaza acest format.
Difera de la compilator la compilator nu de la OS la OS. Si pe linux merge sursa, compilata cu g++ file_name.cpp -o file_name
Si asta e o parte ciudata cu ce influenteaza acele flaguri ( vezi mai sus ) ( adica de ce fara ele mere perfect sursa ) ?.
|
|
|
Memorat
|
|
|
|
•bugy
Strain
Karma: 0
Deconectat
Mesaje: 23
|
 |
« Răspunde #34 : Februarie 24, 2010, 10:30:15 » |
|
salut,  cum e posibil sa iau raspuns gresit pe toate testele.... stiind ca-mi da bine pe teste de la oji .. iar pe campion am luat 100 de puncte pe ea  heeeelp pls 
|
|
|
Memorat
|
|
|
|
•mathboy
|
 |
« Răspunde #35 : Februarie 24, 2010, 10:39:32 » |
|
Aceeasi problema o avea un coleg . Inlocuieste citirea cu scanf ("%s\n", a) si dupa ai grija de cazurile in care trebuia sa imparti la 0.
|
|
« Ultima modificare: Februarie 26, 2010, 11:21:45 de către Dragos-Alin Rotaru »
|
Memorat
|
|
|
|
•bugy
Strain
Karma: 0
Deconectat
Mesaje: 23
|
 |
« Răspunde #36 : Februarie 25, 2010, 21:23:55 » |
|
|
|
|
Memorat
|
|
|
|
•vladtarniceru
|
 |
« Răspunde #37 : Februarie 28, 2010, 17:35:11 » |
|
Salut  Cum se face ca iau 20 de puncte  ?Adica nu-mi dau seama la ce am gresit(dar presupun ca stiu) #include<fstream.h> #include<string.h> #include<math.h> ifstream f("ecuatii2.in"); ofstream g("ecuatii2.out"); int mod(double a){ if(a<0) return a*-1; return a; } int cifra(char a){ if(a>='0' && a<='9') return 1; return 0; } int main(){ char a[256],semn='+'; int nr2,n,i,l,j,ret,l2; double lit,cif,nr,nr3; f>>n; for(i=1;i<=n;i++){ f>>a;//f.get(a,255); f.get(); j=0; while(a[j]!='=') j++; nr2=j; l=strlen(a); l2=l; semn='+'; j=0; lit=0; cif=0; while(/*a[j-1]!='=' && a[j]!='=' && j<l*/j<nr2){//mergi pana la egal('=') //g<<"da\n"; if(cifra(a[j])){//daca a[j] este cifra nr=0; if(j>0) semn=a[j-1]; while(cifra(a[j]) && a[j]!='='){//cat timp a[j] este cifra nr=nr*10+(a[j]-'0'); j++; } if(semn=='+'){ if(a[j]=='x') lit=lit+nr; else cif=cif+nr; } else if(semn=='-'){ if(a[j]=='x') lit=lit-nr; else cif=cif-nr; } } else if(a[j]=='x'){if(j>0) semn=a[j-1];if(semn=='+') lit++;else lit--;} j++; } j=j-(j-nr2); ret=j+1; j++; //g<<a[j]<<"\n"; semn='+'; l=l2; while(j<l){ if(cifra(a[j])){//daca a[j] este cifra if(a[j-1]!='=') semn=a[j-1]; nr=0; while(cifra(a[j]) && j<l){//cat timp a[j] este cifra nr=nr*10+(a[j]-'0'); j++; } if(semn=='+'){ if(a[j]=='x') lit=lit-nr; else cif=cif-nr; } else if(semn=='-'){ if(a[j]=='x') lit=lit+nr; else cif=cif+nr; } } else if(a[j]=='x'){if(a[j-1]=='-' || a[j-1]=='+') semn=a[j-1];if(semn=='+') lit--;else lit++;} j++; } //if(cif<0) cif=cif*-1; //if(lit<0) lit=lit*-1; //if(cif<0){cif=cif*-1;lit=lit*-1;} nr3=cif/lit; if(nr3<0) cif=cif*-1;//aici!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!cred ca nu e bine ca //uneori afiseaza numar negativ :-k if(lit!=0) g<<cif/lit<<"\n"; else if(lit==0 && cif!=0) g<<"imposibil\n"; else if(lit==0 && cif==0) g<<"infinit\n"; //g<<cif<<" "<<lit<<"\n"; //g<<a[0]<<"\n"; } g.close(); return 0; }
|
|
|
Memorat
|
|
|
|
•okros_alexandru
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #38 : Martie 17, 2011, 19:30:02 » |
|
Nu inteleg de ce i-au Time limit exceeded pe toate testele . Pe testele de la OJI imi iese perfect .
|
|
|
Memorat
|
|
|
|
•DevilShadow
Strain
Karma: 2
Deconectat
Mesaje: 18
|
 |
« Răspunde #39 : Martie 18, 2011, 18:00:09 » |
|
S-au pastrat testele oficiale? Ca eu primesc doar 90 de pc  si am verificat cu testele de la OJI si am vz ca imi dau toate bn... Nu stiu unde am gresit... La testul 9 imi zice ca ii gresit... Ma poate ajuta cineva?
|
|
|
Memorat
|
|
|
|
•romircea2010
Strain
Karma: 18
Deconectat
Mesaje: 35
|
 |
« Răspunde #40 : Mai 24, 2011, 22:35:20 » |
|
Junc Raul Cosmin: Si eu am patit la fel dar am rezolvat google'ind un pic. Ca sa iti iasa trebuie sa incluzi biblioteca , iar pentru afisare (eu am folosit stream-uri) trebuie sa scrii: g<<fixed; g<<setprecision (4)<<x<<"\n";
unde iti este necunoscuta. bafta! 
|
|
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #41 : Iunie 09, 2011, 09:17:35 » |
|
Ce trebuie afisat pentru ceva de genu' 5=5 ? (exista teste de acest fel?)
|
|
|
Memorat
|
|
|
|
•scipianus
|
 |
« Răspunde #42 : Iunie 09, 2011, 13:57:18 » |
|
Pai daca ar exista un astfel de test,fara x,in caz de egalitate ar trebui afisat "infinit",iar altfel "imposibil" 
|
|
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #43 : Iunie 09, 2011, 17:14:10 » |
|
arunci i8nseamna ca nu e de la asta. Iau doar 10 puncte...si pe testele de la oji 100... Daca afisez cu precizie mai mare are ceva? fout<<setprecision(10)<<val;
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #44 : Iunie 09, 2011, 17:23:42 » |
|
Cel mai probabil, nu. Insa vezi ca setprecision face ceva rotunjuri implicite dupa un numar oarecare de cifre dupa virgula (nu mi-e foarte clar procedeul). Ca sa afisezi exact cu 10 zecimale ar trebui sa faci: fout << fixed << setprecision(10) << val;
Testeaza intai la tine pe calculator si vezi daca observi diferente.
|
|
|
Memorat
|
Am zis 
|
|
|
•scipianus
|
 |
« Răspunde #45 : Iunie 09, 2011, 18:08:41 » |
|
Mda,la ONI am avut ceva probleme cu acest setprecision la evaluarea pe linux  Cred ca ai putea incerca mai bine sa pui citirea/afisarea pe cstdio , iar la afisare sa folosesti asta pentru afisare cu precizie  :
|
|
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #46 : Iunie 09, 2011, 18:18:15 » |
|
gata... am rezolvat... nu era de la precizie. Cred ca era de la citire, insa am rescris sursa complet si iau 100 de puncte chiar daca da rateuri grosolane pe anumite teste.
|
|
|
Memorat
|
|
|
|
•ctlin04
|
 |
« Răspunde #47 : August 11, 2011, 23:46:30 » |
|
Am vazut multe surse de 40 puncte, si eu la fel nu pot trece de 40, cei care au reusit sa gaseasca problema spuneti-mi si mie care e faza, pls 
|
|
|
Memorat
|
|
|
|
|
•predator5047
Strain
Karma: -4
Deconectat
Mesaje: 8
|
 |
« Răspunde #49 : August 26, 2011, 21:44:19 » |
|
Nu inteleg de ce iau doar 40P pe evaluatorul de la oji iau 100P , nu inteleg unde gresesc.Am folosti fprintf in loc de fout<<fixed<<setprecision(4) am incercat sa cresc precizia la 10 nimic nu merge. Sursa mea: #include <fstream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; void eval(char *ec,int n,int & mem,int & x); int main() { ifstream fin("ecuatii2.in"); FILE *g=fopen("ecuatii2.out","w"); char ec[250]; int n,xs,xd,ms,md; fin>>n; fin.get(); for(int i=1;i<=n;++i) { xs=xd=ms=md=0; fin.get(ec,999,'='); xs=xd=ms=md=0; eval(ec,strlen(ec),ms,xs); fin.get(); fin.get(ec,999,'\n'); xd=md=0; eval(ec,strlen(ec),md,xd); fin.get(); if(ms==md&&xs==xd) fprintf(g,"infinit \n"); else { int ter=ms-md,x=xs-xd; if(x==0 && ms!=md) fprintf(g,"imposibil \n"); else { double rez=(double)ter/(x*-1); fprintf(g,"%.4f \n",rez); }
} }
fin.close(); fclose(g); return 0; }
void eval(char *ec,int n,int & mem,int & x) { int nr=0; char c,semn; for(int i=0;i<n;++i) { nr=0; if(ec[i]>='0'&&ec[i]<='9') { if(i==0) semn='+'; else semn=ec[i-1]; while(ec[i]>='0'&&ec[i]<='9'&&i<n) { c=ec[i]; nr=nr*10+atoi(&c); ++i; } if(i==n) --i; if(ec[i]=='x') {
if(nr==0) ++x; else if(semn=='+') x+=nr; else x-=nr; ++i; } else { if(semn=='+') mem+=nr; else mem-=nr; } } else if(ec[i]=='x') { if(i==0) semn='+'; else semn=ec[i-1]; if(semn=='+') ++x; else --x; } } }
|
|
|
Memorat
|
|
|
|
|