•gabitzish1
|
 |
« Răspunde #25 : Iunie 07, 2007, 10:29:26 » |
|
Si eu aveam probleme cu numerele mari.. dar nu era de la citire... doar greseam implementarea operatiilor.... citirea ta mi se pare buna...
|
|
|
Memorat
|
|
|
|
•silviug
|
 |
« Răspunde #26 : Iunie 07, 2007, 11:00:37 » |
|
E destul de periculoasa citirea ta. Daca ai newline dupa al doilea numar tu il iei ca cifra. Cel mai sanatos e sa citesti cam asa: char nr1[MAX_LENGTH], nr2[MAX_LENGTH]; fscanf(f, "%s %s", nr1, nr2);
|
|
|
Memorat
|
"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
|
|
|
•gabor_oliviu1991
|
 |
« Răspunde #27 : Mai 13, 2008, 23:59:12 » |
|
la voi pentru 156452123 4165411 va da 1303374767408052  ...
|
|
|
Memorat
|
|
|
|
•gabitzish1
|
 |
« Răspunde #28 : Mai 14, 2008, 15:19:42 » |
|
Da, "la noi ne da" cat iti da si tie 
|
|
|
Memorat
|
|
|
|
•gabor_oliviu1991
|
 |
« Răspunde #29 : Mai 14, 2008, 15:38:39 » |
|
deci am aplicat formula pe numere mari... si nu prind niciun test de la 11->20, care is pe numere mari (am trimis formula pe nr mici si am prins primele 10 teste)... si nu imi dau seama unde gresesc... si din cate vad, pe exemplul postat mai sus imi iese programul...daka aveti ceva idei... P.S: de cat ati declarat vectorii ?  [later edit]: nu conteaza, declaram un vector de 30 de elemente, si trebuia mai mare:D...sper sa nu gresesc si la olimpiada asa:p
|
|
« Ultima modificare: Mai 14, 2008, 16:05:37 de către gaboru corupt »
|
Memorat
|
|
|
|
•Florian
|
 |
« Răspunde #30 : Mai 14, 2008, 19:35:14 » |
|
sper sa nu gresesc si la olimpiada asa:p
Nu`ti fa griji. Mai ai un an la dispozitie ca sa inveti sa nu faci greseala asta.  [ pana la olimpiada]
|
|
|
Memorat
|
|
|
|
•c_e_manu
|
 |
« Răspunde #31 : Mai 14, 2008, 21:43:38 » |
|
Am incercat si eu problema asta... iau doar 40 de puncte... din moment ce iau pcte inseamna ca formula e buna... apoi banuiesc ca si operatiile pe numere mari... chiar am urmarit pas cu pas un test mai mare si e ok... nu inteleg de ce iau KBS11... am declarat vectorii peste 1000 asa ca sigur intra numerele... Are cineva vreo idee?  pls  [edit]: am descoperit greseala... pentru 40, respectiv 50 de puncte declaram vectorii in felul urmator: imediat cum am facut cv de genul am luat 100  ... imi poate explica cineva diferenta pls?
|
|
« Ultima modificare: Mai 15, 2008, 00:04:47 de către Emanuel Cinca »
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #32 : Mai 15, 2008, 13:56:03 » |
|
In sursa de 50 aloci local in functia main vectorii s1 si s2. Daca ii declari global ar trebui sa mearga.
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•c_e_manu
|
 |
« Răspunde #33 : Mai 15, 2008, 14:44:05 » |
|
da...aia a fost inca o modificare ce am facut-o  ...dar nu am obs decat acuma cand mi-ai zis... dar totusi care e diferenta dintre cele 2 tipuri de declaratii? 
|
|
|
Memorat
|
|
|
|
•stef2n
|
 |
« Răspunde #34 : Mai 15, 2008, 14:48:28 » |
|
Variabilele globale se aloca in heap, iar cele locale in stiva calculatorului. De obicei stiva are o limita mult mai stransa.
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•c_e_manu
|
 |
« Răspunde #35 : Mai 15, 2008, 15:21:31 » |
|
nu la asta ma refer... faptul ca stiva e mai restrictiva stiam... dar diferenta dintre si Imi cer scuza daca va stresez  , dar inainte credeam ca nu conteaza aceste detalii...dar am obs ca sunt foarte importante si as vrea sa le aflu 
|
|
|
Memorat
|
|
|
|
•Mishu91
|
 |
« Răspunde #36 : Mai 15, 2008, 15:36:08 » |
|
nu la asta ma refer... faptul ca stiva e mai restrictiva stiam... dar diferenta dintre si Este acelasi lucru, nu-i nicio diferenta. Daca de exemplu ai multi vectori de declarat e mai comod de scris #define N 2001 int v1[N],v2[N],v3[N],...
|
|
|
Memorat
|
|
|
|
•c_e_manu
|
 |
« Răspunde #37 : Mai 15, 2008, 15:40:29 » |
|
Aha...ok... ms mult! 
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
 |
« Răspunde #38 : Aprilie 23, 2009, 17:59:15 » |
|
Eu sunt incepator in C++, dar ma descurc inafara de stringuri, adica cum pot intoarce un string pe dos fara functia strrcv care nu exista pe compilatorul Infoarenei. Adica daca am sa imi afiseze Cu asta nu ar trebui sa mearga? for (i=0;i<nn/2;i++) { aux=n[i]; n[i]=n[nn-i]; n[nn-i]=aux; }
|
|
|
Memorat
|
|
|
|
•c_e_manu
|
 |
« Răspunde #39 : Aprilie 23, 2009, 18:52:08 » |
|
Cred ca acolo ar trebui nn<=n/2
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
 |
« Răspunde #40 : Aprilie 23, 2009, 19:02:29 » |
|
Cred ca acolo ar trebui nn<=n/2
nu merge:D sunt declarate char n[1001] si de la "156452123" se face ""
|
|
|
Memorat
|
|
|
|
•gabor_oliviu1991
|
 |
« Răspunde #41 : Aprilie 23, 2009, 19:48:54 » |
|
lung = strlen(sir); for(i = 0; i < lung/2; i++) { aux = sir[i]; sir[i] = sir[lung-i-1]; sir[lung-i-1] = aux; } Nu l-am incercat dar cel mai probabil merge.
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
 |
« Răspunde #42 : Aprilie 23, 2009, 20:17:28 » |
|
ms a mers  acuma am o greseala in program si o sa o rezolv eu Nu gasesc greseala ma poate ajuta cineva? De ce daca n="72" si c="1" programu meu face "\a\x2" si c="\x1" for (i=0;i<nn;i++) n[i]=n[i]-48; for (i=0;i<cc;i++) c[i]=c[i]-48;
|
|
« Ultima modificare: Aprilie 24, 2009, 14:39:17 de către Andrici Cezar »
|
Memorat
|
|
|
|
•Florian
|
 |
« Răspunde #43 : Aprilie 24, 2009, 14:49:16 » |
|
Pai de ce scazi 48 ? Ce anume vrei sa transformi ?
|
|
|
Memorat
|
|
|
|
•CezarMocan
|
 |
« Răspunde #44 : Aprilie 24, 2009, 15:02:55 » |
|
48 e codul ascii al lui '0'. Partea pe care o faci tu acolo pare in regula, o fi problema de altundeva (nn-ul facut prost sau ceva...  )
|
|
|
Memorat
|
|
|
|
•gabor_oliviu1991
|
 |
« Răspunde #45 : Aprilie 24, 2009, 15:12:06 » |
|
Da, scade 48 <=> '0' dar vectorul ramane de tip char. Si cand afiseaza afiseaza (char)n[ i ], si trebuie afisat (int)n[ i ].
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
 |
« Răspunde #46 : Aprilie 24, 2009, 15:35:55 » |
|
nn=strlen(n); cc=strlen(c);
afisez cu int(n[i ]) pe testul 19 3 face bine, adica il transforma in numar dar pentru 27 1 face ce am zis mai sus:D
|
|
« Ultima modificare: Aprilie 24, 2009, 16:18:21 de către Sima Cotizo »
|
Memorat
|
|
|
|
•Magnus
Client obisnuit

Karma: 0
Deconectat
Mesaje: 57
|
 |
« Răspunde #47 : Iunie 05, 2009, 11:23:47 » |
|
Poate cineva sa-mi spuna si mie unde gresesc? Iau doar 0 puncte si nu stiu de ce, nu ma refer la testele cu MLE. Cu testele mele merge. 
|
|
|
Memorat
|
|
|
|
•c_e_manu
|
 |
« Răspunde #48 : Iunie 06, 2009, 12:57:23 » |
|
Poate cineva sa-mi spuna si mie unde gresesc? Iau doar 0 puncte si nu stiu de ce, nu ma refer la testele cu MLE. Cu testele mele merge.  Daca nu ne prezinti ideea, nu avem cum sa te ajutam.
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #49 : August 05, 2009, 15:09:18 » |
|
Am facut problema de 50 de puncte si acum ma apucasem sa implementez pe nr mari. Pana la urma N si C sunt pe acceasi linie sau nu ? Am implementat citirea din fisier astfel: i=0; while (!f.eof() ) { f.get(temp); if ( (temp=='\r') || (temp=='\n') || (!isdigit(temp) ) ) break; s[i]=temp; i++; } s[i]='\0'; //inchei cu NULL N[0]=strlen(s); for (i=N[0]-1;i>=0;i--) N[N[0]-i]=s[i]-'0'; for (i=N[0]+1;i<LG_MAX;i++) N[i]=0; afisare(N); //afisez N i=0; while (!f.eof() ) //acum il iau pe C { f.get(ch); if ( (ch=='\r') || (ch=='\n') || (!isdigit(ch) ) ) break; sir[i]=ch; i++; } sir[i]='\0'; //inchei cu NULL C[0]=strlen(sir); for (i=C[0]-1;i>=0;i--) C[C[0]-i]=sir[i]-'0'; for (i=C[0]+1;i<LG_MAX;i++) C[i]=0; cout<<endl; afisare(C); Afiseaza 27 (doar N) . Ma puteti ajuta. 
|
|
|
Memorat
|
|
|
|
|