•dariusdarius
Client obisnuit
Karma: 20
Deconectat
Mesaje: 62
|
|
« Răspunde #75 : Noiembrie 18, 2012, 18:49:25 » |
|
Am o problema: cand citesc cu gets, primesc 0 puncte cu incorect pe toate. Dar cand pun scanf("%s") imi da 100. Care ar putea fi problema?
|
|
|
Memorat
|
|
|
|
•andreii1
Strain
Karma: 4
Deconectat
Mesaje: 23
|
|
« Răspunde #76 : Ianuarie 19, 2013, 12:13:48 » |
|
testele contin si alte caractere, pe evaluatorul oficial si pe campion iau 100, iar aici 0.. nu e prima pb de la oji-uri de pe infoarena care are probleme cu caracterele in plus
|
|
|
Memorat
|
|
|
|
•crisbodnar
Strain
Karma: -13
Deconectat
Mesaje: 3
|
|
« Răspunde #77 : Februarie 28, 2013, 19:52:35 » |
|
Testele contin caracterul 13. Dati un getline dupa citirea lui n si veti lua 100 de puncte...
|
|
|
Memorat
|
|
|
|
•manutruta
Strain
Karma: 5
Deconectat
Mesaje: 24
|
|
« Răspunde #78 : Iulie 29, 2013, 21:58:06 » |
|
Nu inteleg. De ce "Nu se (mai) pot trimite solutii la aceasta problema." ? Sper ca e temporar, ca vreau sa imi verific sursa.
|
|
|
Memorat
|
|
|
|
•otniel
Strain
Karma: -13
Deconectat
Mesaje: 49
|
|
« Răspunde #79 : Septembrie 12, 2013, 13:46:57 » |
|
o ecuatie poate sa se intinda pe mai multe randuri?
|
|
|
Memorat
|
|
|
|
•otniel
Strain
Karma: -13
Deconectat
Mesaje: 49
|
|
« Răspunde #80 : Septembrie 12, 2013, 14:41:44 » |
|
Am rezolvat dar totusi:care e diferenta dintre fgets(...) si fscanf(f,"%s",....)? Am inlocuit fscanf(f,"%s",....) cu fgets(...) si am luat 100. De ce?
|
|
|
Memorat
|
|
|
|
•AlexandruValeanu
|
|
« Răspunde #81 : Septembrie 12, 2013, 16:58:08 » |
|
fgets(s) ia si ultimul caracter '\0' in considerare in sir. Adica sirul "gigi" are lungimea 5.
|
|
|
Memorat
|
|
|
|
•otniel
Strain
Karma: -13
Deconectat
Mesaje: 49
|
|
« Răspunde #82 : Septembrie 12, 2013, 18:08:06 » |
|
Mersi mult! Nu am stiut dar toate au un inceput:))
|
|
|
Memorat
|
|
|
|
•WolfBlitzer
Strain
Karma: -7
Deconectat
Mesaje: 1
|
|
« Răspunde #83 : Decembrie 30, 2013, 11:45:58 » |
|
Evident, macar jumatate din teste sunt gresite. Nivelul asta de neglijenta este PATETIC. LE: Nu trebuie sa imi schimb eu metoda de citire doar pentru ca cineva nu a fost capabil sa faca niste teste macar acceptabile
|
|
|
Memorat
|
|
|
|
•AlexandruValeanu
|
|
« Răspunde #84 : Decembrie 30, 2013, 12:14:32 » |
|
Socotind ca tocmai am luat 100p cu o sursa scrisa folosind citirea/scrierea cu stream-uri si string-uri in loc de siruri de caractere clasice tind sa cred ca sursa ta e gresita!
PS: Fa tu teste mai acceptabile ( astea sunt corecte )
|
|
|
Memorat
|
|
|
|
•cosmintanase
Strain
Karma: 0
Deconectat
Mesaje: 1
|
|
« Răspunde #85 : Februarie 26, 2014, 12:37:12 » |
|
de cand 0 si -0 sunt 2 numere diferite?
|
|
|
Memorat
|
|
|
|
•Djok
Client obisnuit
Karma: 10
Deconectat
Mesaje: 71
|
|
« Răspunde #86 : Octombrie 17, 2014, 16:22:47 » |
|
Am testat programul meu pe testele de la Oji și primesc aceleași rezultate. Am citit comentariile, și inițial aveam un getline după N și oricum primesc 0p. Poate cineva să se uite peste sursa mea și să-mi spună care e problema?
L.E. urăsc problemele care au semne neclare în teste și strică toată frumusețea problemelor.
|
|
« Ultima modificare: Octombrie 17, 2014, 16:41:36 de către LASM.Motroi Valeriu »
|
Memorat
|
|
|
|
•alinp25
Strain
Karma: 0
Deconectat
Mesaje: 4
|
|
« Răspunde #87 : Februarie 12, 2016, 15:52:00 » |
|
Nu reusesc sa imi dau seama unde gresesc. Iau doar 30 de puncte. Ma chinui de 2 ore sa vad, am facut 2 sesiuni de debugging cap-coada, tot nu imi dau seama. #include <iostream> #include <fstream> #include <string> #include <iomanip>
std::ifstream fin("ecuatii2.in"); std::ofstream fout("ecuatii2.out");
int n; std::string stanga, dreapta; double xStanga = 0, xDreapta = 0, nrStanga = 0, nrDreapta = 0;
void rezolva(std::string sir, double &nrSir, double &xSir) { int aux = 0, semn = 1; for (int i = 0; i < sir.length(); i++) { if (sir[i] == '+') { nrSir += (aux * semn); semn = 1; aux = 0; } else if (sir[i] == '-') { nrSir += (aux * semn); semn = -1; aux = 0; } else if (sir[i] == 'x') { if (aux > 0) xSir += (aux * semn); else if (aux == 0) xSir += 1; aux = 0; } else { aux = aux * 10 + (sir[i] - '0'); } } if (sir[sir.length() - 1] != 'x') nrSir += aux; }
void afiseaza() { if (xStanga == xDreapta) { if (nrStanga == nrDreapta) fout << "infinit\n"; else fout << "imposibil\n"; } else { fout << std::setprecision(5) << ((nrDreapta - nrStanga) / (xStanga - xDreapta)) << "\n"; }
}
int main(int argc, char *argv[]) { fin >> n; std::getline(fin, stanga, '\n'); for (int numarEcuatii = 1; numarEcuatii <= n; numarEcuatii++) { std::getline(fin, stanga, '='); std::getline(fin, dreapta, '\n'); xStanga = 0, xDreapta = 0, nrStanga = 0, nrDreapta = 0; rezolva(stanga, nrStanga, xStanga); rezolva(dreapta, nrDreapta, xDreapta); afiseaza(); } return 0; }
|
|
|
Memorat
|
|
|
|
•lucametehau
Strain
Karma: 1
Deconectat
Mesaje: 33
|
|
« Răspunde #88 : Septembrie 14, 2016, 10:07:45 » |
|
De ce nu imi da?? Am facut si cu getline si cu get si tot nu imi da!!! Cod: #include <fstream> #include <cstring> #include <iomanip>
using namespace std; ifstream cin("ecuatii2.in"); ofstream cout("ecuatii2.out"); int t,i,n,m; double nst,ndr,xst,xdr; char st[300],dr[300],a[1005],c; double abs(double n) { if(n<0) return -n; return n; } void determina(char v[],int n,double &nv,double &xv) { int i,x=0,s=1; for(i=1;i<=n;i++) { if(v[i]=='+') { nv+=x*s; s=1; x=0; } else if(v[i]=='-') { nv+=x*s; s=-1; x=0; } else if(v[i]=='x') { if(x) xv+=x*s; else xv++; x=0; } else x=x*10+v[i]-'0'; } if(v[n]!='x') nv+=x; } void afiseaza() { if(xst==xdr) { if(nst==ndr) cout<<"infinit\n"; else cout<<"imposibil\n"; } else cout<<fixed<<setprecision(4)<<(abs(ndr-nst))/(abs(xdr-xst))<<'\n'; } int main() { cin>>t; cin.getline(a,999,'\n'); for(i=1;i<=t;i++) { n=0; m=0; while(cin.get(c)&&c!='=') st[++n]=c; while(cin.get(c)&&c!='\n') dr[++m]=c; nst=ndr=xst=xdr=0; determina(st,n,nst,xst); determina(dr,m,ndr,xdr); afiseaza(); } return 0; }
Multumesc anticipat! [Editat de admin] Foloseste tagul code cand postezi cod, si in general nu e o idee buna sa iti postezi programul pe forum si sa intrebi de ce nu iti da. Mai bine incerci sa explici frumos ce faci acolo si ce nu merge si poate te ajuta cineva.
|
|
« Ultima modificare: Septembrie 14, 2016, 17:27:12 de către Savin Tiberiu »
|
Memorat
|
|
|
|
|