Pagini: 1 ... 3 4 [5] 6 7 ... 10   În jos
  Imprimă  
Ajutor Subiect: 000 A+B  (Citit de 93924 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
cricri
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« 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 Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #101 : Martie 24, 2009, 18:57:54 »

nu am ce sa comentez Rolling Eyes
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« 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. Smile

Desigur, toate aceste erori pot fi evitate daca se citeste documentatia

Totodata 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. Wink
« Ultima modificare: Martie 26, 2009, 00:26:27 de către Valentin Stanciu » Memorat
valentinrosca
Strain
*

Karma: -8
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« 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
Cod:
#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
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« 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 Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #105 : Aprilie 07, 2009, 18:17:59 »

[...]
cea mai usoara problema din lume
Cod:
    ptr borland c++:
Cod:
                         #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 Deconectat

Mesaje: 1



Vezi Profilul
« 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 Smile) ) si vad ca am luat 0 pct X(
Cod:
#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... Smile
« Ultima modificare: Aprilie 07, 2009, 20:13:39 de către Sima Cotizo » Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« 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!

Cod:
#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 Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #108 : Aprilie 07, 2009, 19:42:10 »

Si vezi ca fisierele sunt "adunare.in/.out" nu "suma".
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« 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 Very Happy
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« 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 Very Happy

Nici eu nu lucrez cu streamurile, tocmai d-aia am gresit Sad . 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 Smile.

Rescriu codul corect :

Cod:
#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 Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #111 : Aprilie 08, 2009, 16:11:47 »

Cel mai simplu Very Happy
Cod:
# #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 Deconectat

Mesaje: 2



Vezi Profilul
« 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?
Cod:

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:

Cod:

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 Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #113 : Aprilie 09, 2009, 16:29:56 »

Cod:
#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. Winner 1st place
Memorat
ciuperca
Strain


Karma: 19
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #114 : Aprilie 09, 2009, 17:05:25 »

Mersi ca m-ai luminat  Shocked . Nu stiam sa fac problema  Fool
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« 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?
Cod:

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:

Cod:

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
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« 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
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« 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
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« 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
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« 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 Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #120 : Iunie 18, 2009, 15:33:10 »

Imi spune si mie cineva ce am gresit?
Deoarece la mine merge programul!
 Mad
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« 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 Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #122 : Iunie 19, 2009, 18:09:29 »

Sursa pentru Delphi:  Tongue

"
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
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #123 : Iunie 19, 2009, 19:11:57 »

Sursa pentru Delphi:  Tongue

"
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
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« 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.  Smile


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...  Huh
Memorat
Pagini: 1 ... 3 4 [5] 6 7 ... 10   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines