•cricri
Strain
Karma: -3
Deconectat
Mesaje: 5
|
 |
« Răspunde #100 : Martie 23, 2009, 00:07:41 » |
|
mersi frumos:)
de cand am invatat fstream nu le-am mai inclus pe aman2 ,ci doar 1, si a mers,dar se pare ca tre sa ma adaptez la compilatoarele noi:)
mersi din nou!
|
|
|
Memorat
|
|
|
|
•gapdan
Strain
Karma: -17
Deconectat
Mesaje: 27
|
 |
« Răspunde #101 : Martie 24, 2009, 18:57:54 » |
|
nu am ce sa comentez 
|
|
|
Memorat
|
|
|
|
•svalentin
|
 |
« Răspunde #102 : Martie 26, 2009, 00:20:35 » |
|
Eu zic sa scriem un articol in care explicam cum se ia 100 de puncte pe problema A+B. Au fost dezbatute multe idei pe acest thread de forum si lumea nu are timp sa stea sa citeasca 5 pagini de mesaje. Poate un articol orientat spre un rezultat este mai atractiv pentru utilizatorii incepatori decat 4 articole separate care explica standardul C++, diferentele intre Borland si GNU C, etc. Cele mai comune greseli:1. %i in loc de %d la citirea cu fscanf. Si eu am facut multa vreme greseala asta si am folosit %i pana m-am prins ca intr-un exemplu numerele incep cu 0 si le citeste in baza 8. Concluzie: folositi %d! 2. Lipsa liniei "using namespace std" pentru cei care folosesc streamuri. Aceasta linie trebuie adaugata in program daca folositi bibleoteca <fstream> (fara .h). 3. Functia main trebuie sa intoarca int. Functia main trebuie declarata "int main()" 4. Lipsa bibliotecilor corecte. fscanf/fprintf se gasesc <stdio.h>, ifstream/ofstream se gasesc in <fstream.h> (sau in <fstream> dar trebuie adaugata linia "using namespace std"). 5. Nerespectarea restrictilor de citire/ scriere. Poate nu se citeste din fisier, poate se folosesc cai absolute (nu folositi "C:\adunare.in", ci "adunare.in") sau poate se afiseaza "a+b=". Programul trebuie sa afiseze doar ce i se cere in enunt. Nimic mai mult, nimic mai putin. (6.) Neintelegerea erorilor descrise de evaluator. Desi sunt multe de spus, primul lucru de facut este sa fie citite erorile! Evaluatorul scrie in engleza si iti spune in general si linia de cod la care ai probleme.  Desigur, toate aceste erori pot fi evitate daca se citeste documentatiaTotodata lumea ar trebui sa inteleaga ca desi problema este simpla, pentru incepatori este exact "primul pas". Cum ar fi sa rada lumea de voi cand ati incercat prima data sa mergeti pe role. Hai, fiti sinceri, ati cazut cel putin o data! Fiti mai intelegatori cu cei noi si incercati sa nu va dati mari ca ati rezolvat problema A+B si ati luat 100 de puncte pe ea! Si sa incercam sa nu scriem pe forumul unei probleme daca nu avem ceva de adaugat cu referire la problema. Avem forumuri de discutii dedicate. 
|
|
« Ultima modificare: Martie 26, 2009, 00:26:27 de către Valentin Stanciu »
|
Memorat
|
|
|
|
•valentinrosca
Strain
Karma: -8
Deconectat
Mesaje: 29
|
 |
« Răspunde #103 : Aprilie 03, 2009, 14:47:36 » |
|
ah...ba nu tot nu mere modific` o ca sa mearga...asa poate voi intelege si eu #include "stdio.h" int main() { int a,b,s; FILE *F; FILE *G; F = fopen("adunare.in","r"); G = fopen("adunare.out","w"); fscanf(F,"%d %d",&a,&b); s=a+b; fprintf(G,"%d",s); fclose(G); fclose(F); return 0; }
|
|
« Ultima modificare: Aprilie 03, 2009, 14:53:34 de către Sima Cotizo »
|
Memorat
|
|
|
|
•sima_cotizo
|
 |
« Răspunde #104 : Aprilie 03, 2009, 14:57:38 » |
|
Sursa aia ia max. Ai incercat sa o trimiti macar?
|
|
|
Memorat
|
|
|
|
•Gabryella1809
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #105 : Aprilie 07, 2009, 18:17:59 » |
|
[...] cea mai usoara problema din lume Cod: ptr borland c++: #include<fstream.h> int main () { ifstream fin("adunare.in"); ofstream fout("adunare.out"); int a,b; fin>>a>>b; fout<<a+b; fin.close(); fout.close(); return 0; }
Editat de admin: Foloseste tagul "code" cand postezi surse.
P.S.: Bravo! Esti cea mai tare!
|
|
« Ultima modificare: Aprilie 07, 2009, 18:27:11 de către Andrei Grigorean »
|
Memorat
|
|
|
|
•jezabest
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #106 : Aprilie 07, 2009, 19:33:31 » |
|
nu inteleg in ruptul capului ce nu e bine, folosesc C++ 3.1, la mine pe calc merge (daca nu mergea, ma lasam de treaba  ) ) si vad ca am luat 0 pct X( #include <fstream.h> #include <math.h> void main () { long a, b; fstream f("suma.in",ios::in); f>>a; f>>b; f.close (); fstream g("suma.out",ios::out); g<<a+b; g.close (); } [editat de moderator] Ce-a zis Toni mai jos... 
|
|
« Ultima modificare: Aprilie 07, 2009, 20:13:39 de către Sima Cotizo »
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #107 : Aprilie 07, 2009, 19:38:22 » |
|
In g++ (compilatorul de pe site), fstream.h este o versiune veche, fiind de preferat sa folosesti fstream, cu using namespace std. De asemenea, poti sa nu folosesti ios:in sau ios:out. Atentie, functia main trebuie sa returneze int! #include <fstream> #include <math.h> using namespace std; int main () { long a, b; fstream f("adunare.in"); f>>a; f>>b; f.close (); fstream g("adunare.out"); g<<a+b; g.close (); }
PS: Data viitoare foloseste tagul " [ code ] [ /code ] " (fara ghilimele), cand postezi cod sursa. LE: Mersi Andrei de completare.
|
|
« Ultima modificare: Aprilie 07, 2009, 19:46:44 de către Pripoae Teodor Anton »
|
Memorat
|
|
|
|
•andrei-alpha
Client obisnuit

Karma: 103
Deconectat
Mesaje: 91
|
 |
« Răspunde #108 : Aprilie 07, 2009, 19:42:10 » |
|
Si vezi ca fisierele sunt "adunare.in/.out" nu "suma".
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
 |
« Răspunde #109 : Aprilie 07, 2009, 20:15:23 » |
|
De asemenea, poti sa nu folosesti ios:in sau ios:out.
Se poate sa nu fiu eu foarte acomodat cu streamurile, dar tu ai observat ca foloseste fstream, nu if/ofstream, nu ? Cred ca la fstream simplu ai nevoie sa ii mentionezi daca e fisier de intrare sau de iesire... Desi e doar o parere 
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #110 : Aprilie 07, 2009, 22:31:31 » |
|
De asemenea, poti sa nu folosesti ios:in sau ios:out.
Se poate sa nu fiu eu foarte acomodat cu streamurile, dar tu ai observat ca foloseste fstream, nu if/ofstream, nu ? Cred ca la fstream simplu ai nevoie sa ii mentionezi daca e fisier de intrare sau de iesire... Desi e doar o parere  Nici eu nu lucrez cu streamurile, tocmai d-aia am gresit  . Doar ca din ce imi amintesc nu mergea cu "ios : in", parca mai intrebase cineva. Cand am lucrat cu streamuri, am folosit ifstream / ofstream si a mers bine  . Rescriu codul corect : #include <fstream> #include <math.h> using namespace std; int main () { long a, b; ifstream f("adunare.in"); f>>a; f>>b; f.close (); ofstream g("adunare.out"); g<<a+b; g.close (); }
|
|
|
Memorat
|
|
|
|
•Robyy14
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #111 : Aprilie 08, 2009, 16:11:47 » |
|
Cel mai simplu # #include <fstream> # #include <iomanip> # #include <string> # # using namespace std; # fstream fin("adunare.in",ios::in),fout("adunare.out",ios::out); # int a,b,c; # # int main(){ # fin>>a; # fin>>b; # c=a+b; # fout<<c; # fout.close();fin.close(); # } [code/]
|
|
|
Memorat
|
|
|
|
•bestalex
Strain
Karma: -2
Deconectat
Mesaje: 2
|
 |
« Răspunde #112 : Aprilie 09, 2009, 15:37:29 » |
|
ai uitat sa inchizi fiserele. f.close();g.close(); la sfaristul programului Dati si voi o sursa pentru problema asta care compileaza! Sau spuneti-mi si mie ce e gresit la asta? namespace std;
int main() { int a; int b; ifstream f("adunare.in"); ofstream g("adunare.out"); f >> a; f >> b; g << a + b << endl; return 0; }
Sau la asta: int main() { int a; int b; FILE* f= fopen("adunare.in", "rt"); FILE* g = fopen("adunare.out", "wt"); fscanf(f, "%d", &a); fscanf(f, "%d", &b); fprintf(g, "%d\n", a + b); fclose(f); fclose(g); return 0; }
De compilat compileaza: la prima spune Failed fopen. Missing files? iar la a doua... RUN ERROR - Invalid memory reference [edited by svalentin] foloseste [*code*][*/code*] (fara *) pentru a formata o sursa corect
|
|
|
Memorat
|
|
|
|
•valentinrosca
Strain
Karma: -8
Deconectat
Mesaje: 29
|
 |
« Răspunde #113 : Aprilie 09, 2009, 16:29:56 » |
|
#include<fstream.h> #include<math.h> long a,b; ifstream fin("adunare.in"); ofstream fout("adunare.out"); int main() { fin>>a>>b; fout<<a+b; return 0; }
Asta e codul corect de 100 pt. 
|
|
|
Memorat
|
|
|
|
•ciuperca
Strain
Karma: 19
Deconectat
Mesaje: 16
|
 |
« Răspunde #114 : Aprilie 09, 2009, 17:05:25 » |
|
Mersi ca m-ai luminat  . Nu stiam sa fac problema 
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #115 : Aprilie 09, 2009, 20:46:31 » |
|
ai uitat sa inchizi fiserele. f.close();g.close(); la sfaristul programului Dati si voi o sursa pentru problema asta care compileaza! Sau spuneti-mi si mie ce e gresit la asta? namespace std;
int main() { int a; int b; ifstream f("adunare.in"); ofstream g("adunare.out"); f >> a; f >> b; g << a + b << endl; return 0; }
Sau la asta: int main() { int a; int b; FILE* f= fopen("adunare.in", "rt"); FILE* g = fopen("adunare.out", "wt"); fscanf(f, "%d", &a); fscanf(f, "%d", &b); fprintf(g, "%d\n", a + b); fclose(f); fclose(g); return 0; }
De compilat compileaza: la prima spune Failed fopen. Missing files? iar la a doua... RUN ERROR - Invalid memory reference [edited by svalentin] foloseste [*code*][*/code*] (fara *) pentru a formata o sursa corect Te-ai uitat de cand este postul ?
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #116 : Aprilie 13, 2009, 16:20:26 » |
|
Am si eu o intrebare: de ce nu s epoate pune ios::in/out/app etc ? Si de ce trebuie neaprat "using namespace std" ? Inca ceva ceva, tot nu-s lamuita, trebuie <fstream> sau <fstream.h> ?
|
|
|
Memorat
|
|
|
|
•stef2n
|
 |
« Răspunde #117 : Aprilie 13, 2009, 17:03:29 » |
|
1. Se poate pune std::ios::in. Multe din functiile C++ au fost introduse in namespace-ul std, de aceea trebuie sa-l specifici si pe acesta. 2. Oricare din <fstream> si <fstream.h> este corect. In viitor se asteapta ca toti sa foloseasca <fstream>, de aceea e posibil sa primesti warning la compilare.
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•miculprogramator
|
 |
« Răspunde #118 : Aprilie 13, 2009, 17:43:12 » |
|
Inteleg.Deci daca vreau sa decalr un fisier trebuie sa pun: fstream f("adunare.in",std::ios::in) ?
|
|
|
Memorat
|
|
|
|
•stef2n
|
 |
« Răspunde #119 : Aprilie 13, 2009, 18:56:41 » |
|
Am impresia ca trebuie si std::fstream. Incearca sa vezi.
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•TFifes
Strain
Karma: -20
Deconectat
Mesaje: 27
|
 |
« Răspunde #120 : Iunie 18, 2009, 15:33:10 » |
|
Imi spune si mie cineva ce am gresit? Deoarece la mine merge programul!
|
|
|
Memorat
|
|
|
|
•Florian
|
 |
« Răspunde #121 : Iunie 18, 2009, 15:50:23 » |
|
Ai facut cu fisiere? Ai pus "int main()" (cu "return 0; " la sfarsit) in loc de "void main()" ? Ai vazut ca iei "eroare de compilare" ? Ai citit documentatia ?
|
|
|
Memorat
|
|
|
|
•BogdyBBA
Strain
Karma: -1
Deconectat
Mesaje: 1
|
 |
« Răspunde #122 : Iunie 19, 2009, 18:09:29 » |
|
Sursa pentru Delphi:  " var a, b: longint; f: textfile; begin assignfile(f, 'adunare.in'); reset(f); readln(f, a, b); closefile(f); assignfile(f, 'adunare.out'); rewrite(f); writeln(f, a+b); closefile(f); end. "
|
|
|
Memorat
|
|
|
|
•Mishu91
|
 |
« Răspunde #123 : Iunie 19, 2009, 19:11:57 » |
|
Sursa pentru Delphi:  " var a, b: longint; f: textfile; begin assignfile(f, 'adunare.in'); reset(f); readln(f, a, b); closefile(f); assignfile(f, 'adunare.out'); rewrite(f); writeln(f, a+b); closefile(f); end. " In conditiile in care sursele sunt la vedere nu inteleg rostul acestui post.
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
 |
« Răspunde #124 : Iunie 20, 2009, 11:36:25 » |
|
Nu poti folosi acelasi nume f pentru ambele fisiere. Denumeste un fisier g sau k,l,i,n,t (cum vrei tu) in care sa salvezi a+b.  Ba poti. Daca te uiti mai bine, dupa ce a terminat treaba cu f-ul (citirea), il refoloseste pentru afisare. Totusi, nici eu nu gasesc scopul postului, mai ales atata vreme cat nu exista Delphi ca optiune de compilator... 
|
|
|
Memorat
|
|
|
|
|