infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Dan-Leonard Crestez din Martie 08, 2004, 19:50:26



Titlul: 000 A+B
Scris de: Dan-Leonard Crestez din Martie 08, 2004, 19:50:26
Aici puteţi discuta despre problema A+B (http://infoarena.ro/problema/adunare).


Titlul: Răspuns: 000 A+B
Scris de: Ionita Andrei Lucian din Martie 29, 2004, 13:59:22
se face cu formula, nu ? :D


Titlul: Răspuns: 000 A+B
Scris de: Lucian Boca din Aprilie 05, 2004, 22:39:04
da...


Titlul: Răspuns: 000 A+B
Scris de: ciprian mandici din Aprilie 27, 2004, 16:24:51
Mie imi iese din timp!!! :lol:  :lol:


Titlul: Răspuns: 000 A+B
Scris de: Liceul de informatica Stefan Odobleja , Craiova din Mai 01, 2004, 14:05:50
unui prieten i-a dat eroare de sistem la problema asta (cu o sursa "impecabila") si de atunci a zis ca se lasa de programare:)
Observatie: Cam pustiu aici! :roll:


Titlul: Răspuns: 000 A+B
Scris de: Cristian Strat din Mai 01, 2004, 19:05:49
prietenul tau se descurajeaza repede. trebuia sa trimita un email ca sa se lamureasca.
eroarea de sistem apare din cauza faptului ca userID-ul lui contine " " (spatiu). e adevarat ca ar fi trebuit sa restrictionam acest lucru in momentul inregistrarii dar deocamdata (din lipsa de timp) ne multumim sa-l facem atunci cand evaluam.
concluzie: re-inregistreaza-te!


Titlul: Răspuns: 000 A+B
Scris de: Dumitrache Alexandru din Iunie 20, 2004, 19:13:50
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


Titlul: Răspuns: 000 A+B
Scris de: L337 guy din August 30, 2004, 23:19:42
Da sa-mi spuna si mie cineva ce e aia invalid memory reference ca am mai primit pe la unele programe.


Titlul: Răspuns: 000 A+B
Scris de: Mircea Pasoi din Septembrie 02, 2004, 20:48:35
Citat din mesajul lui: L337_Krew
Da sa-mi spuna si mie cineva ce e aia invalid memory reference ca am mai primit pe la unele programe.


Inseamna ca accesezi memorie care nu exista... un fel de segmentation fault.


Titlul: Răspuns: 000 A+B
Scris de: Victor Gugonatu din Ianuarie 16, 2005, 15:08:07
sursa asta sigur merge(100/100) :


#include "fstream.h"
ifstream f("adunare.in");
ofstream g("adunare.out");
int main()
{
long int a,b;
f>>a>>b;
g<<a+b;
f.close();
g.close();
return 1;
}


Titlul: Răspuns: 000 A+B
Scris de: Andreica din Martie 06, 2005, 11:21:10
ce naiba nu merge sursa asta?

Cod:

#include <stdio.h>

int main()
{
long a,b,c;

freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout);

scanf("%li",&a);
scanf("%li",&b);
c=a+b;
printf("%li",c);

return 0;
}


La testul 5 apare : 1956!=1954


Titlul: Răspuns: 000 A+B
Scris de: Bindea Calin din Martie 06, 2005, 13:45:03
Citat din mesajul lui: sori
ce naiba nu merge sursa asta?

Cod:

#include <stdio.h>

int main()
{
long a,b,c;

freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout);

scanf("%li",&a);
scanf("%li",&b);
c=a+b;
printf("%li",c);

return 0;
}


La testul 5 apare : 1956!=1954

Interesanta chestia.. Pe ala iei 90,.
Schimba scanf("%li .. cu scanf("%ld ... ca sa iei 100. Nu stiu dece folosesti %li.
Eu tot timpu fac %d .. faza e ca in gcc long = int.(asa ca n-are rost sa declari acolo long). Dc vrei long long care e pe 64 ,faci %lld, sau nush, sa iti explice cineva care se stie la dinastea.. eu folosesc ce folosesc and it works :)


Titlul: Răspuns: 000 A+B
Scris de: Tudor A din Aprilie 24, 2005, 18:10:27
Is un om disperat...m ` am apucat de trecerea de la pascal = > c++.
 Am luat ` o cu inceputul si am mai facut odata problema adunare... daca i se face cuiva mila de mine sa ` mi spuna ce e gresit la sursa asta  #-o , raman vesnic recunoscator

Cod:

#include <stdio.h>
int main()
{
    long 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\n",s);
    fclose(g);
    fclose(f);
    return 0;
}


[edited by svalentin] foloseste [*code*][*/code*] (fara *) pentru a formata o sursa corect


Titlul: Răspuns: 000 A+B
Scris de: Ionel Corneliu Gog din Aprilie 24, 2005, 18:49:13
aa...vezi ai declarat long int a,b,s..si cand citesti faci doar %d..care ii pt int..
ori modifici long int a,b,s in int a,b,s  ori %d in %ld...

 :-({|=


Titlul: Răspuns: 000 A+B
Scris de: Tudor A din Aprilie 24, 2005, 19:41:26
mersi mah ... sa traiesti!!!
  \:D/

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;
}


Titlul: Răspuns: 000 A+B
Scris de: cristi8 din Aprilie 24, 2005, 20:16:36
Citat
#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;
}


...asta ia 100


Titlul: Răspuns: 000 A+B
Scris de: Tudor A din Aprilie 24, 2005, 20:24:07
a iesit in sfarsit

inca 2 - 3 chestii de ` astea si innebnuesc
thnx guys


Titlul: Răspuns: 000 A+B
Scris de: cristi8 din Aprilie 24, 2005, 20:35:18
defapt ambele surse care le-ai postat erau de 100 de puncte


Titlul: Răspuns: 000 A+B
Scris de: Valentin Stanciu din Iunie 16, 2005, 16:21:55
Hai ca e tare problema asta:

TEST 1   ...[0.01s]...   Okay!
TEST 2   ...[0.01s]...   Okay!
TEST 3   ...[0.01s]...   Okay!
TEST 4   ...[0.01s]...   Okay!
TEST 5   ...[0.01s]...   1956 != 1954
TEST 6   ...[0.01s]...   Okay!
TEST 7   ...[0.01s]...   Okay!
TEST 8   ...[0.01s]...   Okay!
TEST 9   ...[0.01s]...   Okay!
TEST 10   ...[0.01s]...   Okay!

imi explica si mie cineva cum e posibil asa ceva?!

Cod:
#include<stdio.h>
int main(void)
{
   int a, b;
   fscanf(fopen("adunare.in","r"), "%i%i", &a, &b);
   fprintf(fopen("adunare.out","w"), "%i\n", (int)a+b);
   return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Valentin Stanciu din Iunie 17, 2005, 14:43:07
well, am aflat unde e eroarea:
scanf("%i") interpreteaza 0123 ca fiind 123 octal (baza 8 ) = 83 (baza 10)
si tot cu %i, scanf interpreteaza 0x123 ca fiind 123 hexa (baza 16 ) = 291 (baza 10)

cu %d il fortezi sa citeasca un decimal, deci 0123 este interpretat ca 123 (baza 10)


Titlul: Răspuns: 000 A+B
Scris de: Tudorica Constantin Alexandru din Iulie 06, 2005, 21:50:24
Iti multumesc mult Vali! MAi aveam un pic si aruncam compu pe geam!


Titlul: Răspuns: 000 A+B
Scris de: Tabara Mihai din Octombrie 22, 2005, 23:06:04
eu numai vroiam sa spun ca ii foarte important sa nu se lase deschise streamurile.Deci trebuie inchise fin.close(); si fout.close() ca atfel riscati sa nu goleasca cum trebuie streamul.Oricum problema asta e foarte simpla si ii prima la toate arhivele de probleme din lume:

acm.timus.ru acm.sgu.ru infoarena.devnet.ro usaco...etc...

dar se pot intampla si necazuri(dupa cum am observat)...deci nu-i chiar de batut joc de ea.... =D>  =D>


Titlul: Răspuns: 000 A+B
Scris de: nivan din Noiembrie 09, 2005, 19:39:36
Pe acm.uva.es nu este  :twisted:


Titlul: Răspuns: 000 A+B
Scris de: Tabara Mihai din Noiembrie 09, 2005, 19:47:03
Citat din mesajul lui: nivan
Pe acm.uva.es nu este  :twisted:


da acuma am realizat ce am scris..ai dreptate....oricum ...vroiam numai sa spun ca ii poate cea mai comuna si cea mai usoara problema....dar mersi de observatie


Titlul: Răspuns: 000 A+B
Scris de: nivan din Noiembrie 09, 2005, 19:50:17
Eh oricum.... pana la urma cam asa e exista shi mai usoare da' cam asa e :-'


Titlul: Răspuns: 000 A+B
Scris de: Valentin Bora din Noiembrie 18, 2005, 15:07:14
Cod:
#include <fstream.h>
#include <iostream.h>

int main(){
long a, b, suma;
  ifstream fisierCitire("adunare.in");
   fisierCitire>>a;
   fisierCitire>>b;
   fisierCitire.close();
   suma = a+b;
   ofstream fisierScriere("adunare.out");
   fisierScriere<<suma;
   fisierScriere.close();
return 0;
}

 :D Sursa mea, 100 de puncte cand am evaluat-o.


Titlul: Răspuns: 000 A+B
Scris de: Tabara Mihai din Noiembrie 18, 2005, 15:11:51
incercati
Cod:
#include <fstream>
using namespace std;
#define InPut "adunare.in"
#define OutPut "adunare.out"

int a, b;

int main()
{
           ifstream fin ( InPut );
           ofstream fout ( OutPut );
           
           fin >> a >> b;
           fout << a + b;
           
           fin.close();
           fout.close();

           return 0;
}
Am scris-o direct dar e imposibil sa nu mearga...e mult prea usor..

[edited by svalentin] foloseste [*code*][*/code*] (fara *) pentru a formata o sursa corect


Titlul: Răspuns: 000 A+B
Scris de: Tabara Mihai din Noiembrie 21, 2005, 15:42:44
imi cer scuze ...o neatentie ...nu se va mai repeta!


Titlul: Răspuns: 000 A+B
Scris de: Sima Mihai Cotizo -vechi din Decembrie 13, 2005, 21:44:12
n-am avut ce face si am facut op cu numere mari... :P


Titlul: Răspuns: 000 A+B
Scris de: Nicu G din Februarie 23, 2007, 11:09:34
incerc si eu sa fac trecerea de la pascal la c++
urmatorul cod ia eraore la compilare (pe site ca mie imi merge  :ok:)
Cod:
#include<iostream.h>
#include<fstream.h>

void main(){

ifstream f("adunare.in");
ofstream g("adunare.out");

        long int a,b;

f>>a;
f>>b;
g<<a+b;

f.close();
g.close();

}
apoi dak pun int la functia main si return 0  nu mai da eroare da tot 0 pct iau :readthis:


Titlul: Răspuns: 000 A+B
Scris de: Ivan Nicolae din Februarie 23, 2007, 11:13:19
 Cu int main si return 0 .... ar trebui sa mearga(daca nu-mi scapa mie ceva).
 Nu inteleg de ce pui si iostream si fstream.... fstream ar trebui sa ajunga...
 Daca vrei sa treci de pe pascal pe C, eu as sugera sa folosesti scanf() si printf() ......


Titlul: Răspuns: 000 A+B
Scris de: Nicu G din Februarie 23, 2007, 11:15:19
Citat
Test   Timp executie   Memorie folosita   Mesaj   Punctaj
1   0ms   8kb   -1 != 0   0
2   0ms   8kb   0 != 0   0
3   0ms   12kb   -2 != 0   0
4   0ms   8kb   -198 != 0   0
5   0ms   8kb   1930 != 0   0
6   4ms   8kb   2000 != 0   0
7   0ms   8kb   4480 != 0   0
8   4ms   12kb   -5513 != 0   0
9   0ms   8kb   -280 != 0   0
10   0ms   8kb   -1400 != 0   0
Punctaj total:   0
??? asta zice


Titlul: Răspuns: 000 A+B
Scris de: Ivan Nicolae din Februarie 23, 2007, 11:20:11
Am trimis sursa ta cu int main() si return 0 si am luat 100 pct.

Cod:
#include<iostream.h>
#include<fstream.h>

int main(){

ifstream f("adunare.in");
ofstream g("adunare.out");

        long int a,b;

f>>a;
f>>b;
g<<a+b;

f.close();
g.close();
 return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Nicu G din Februarie 23, 2007, 11:22:29
 :? am retrimiso si eu si acum am 100  :-s
ciudat e aceasi  :-k
ms oricum


Titlul: Răspuns: 000 A+B
Scris de: Puni Andrei Paul din Martie 03, 2007, 23:32:22
va place rezolvarea mea la A+B ?  :P

Cod:
program theUltimate;
const Puni=29;
var Andrei:array[1..Puni] of string[50];
    i,j:integer;
procedure Paul;
var x,y: longint;
begin
assign(input,'adunare.in');reset(input);
assign(output,'adunare.out');rewrite(output);

read(x,y);
writeln(x+y);
  for i:=1 to Puni do writeln(Andrei[i]);
end;
procedure Crawler;
begin
  for i:=1 to Puni do begin
    write('  Andrei[',i:1,']:=''');
    for j:=1 to length(Andrei[i]) do begin
      if Andrei[i][j]='''' then write('''''')
      else write(Andrei[i][j]);
    end;
    writeln(''';');
  end;
  writeln('  Paul;');
  writeln('  Crawler;');
  writeln('end.');
end;
begin
  Andrei[1]:='program theUltimate;';
  Andrei[2]:='const Puni=29;';
  Andrei[3]:='var Andrei:array[1..Puni] of string[50];';
  Andrei[4]:='    i,j:integer;';
  Andrei[5]:='procedure Paul;';
  Andrei[6]:='var x,y: longint;';
  Andrei[7]:='begin';
  Andrei[8]:='assign(input,''adunare.in'');reset(input);';
  Andrei[9]:='assign(output,''adunare.out'');rewrite(output);';
  Andrei[10]:='';
  Andrei[11]:='read(x,y);';
  Andrei[12]:='writeln(x+y);';
  Andrei[13]:='  for i:=1 to Puni do writeln(Andrei[i]);';
  Andrei[14]:='end;';
  Andrei[15]:='procedure Crawler;';
  Andrei[16]:='begin';
  Andrei[17]:='  for i:=1 to Puni do begin';
  Andrei[18]:='    write(''  Andrei['',i:1,'']:='''''');';
  Andrei[19]:='    for j:=1 to length(Andrei[i]) do begin';
  Andrei[20]:='      if Andrei[i][j]='''''''' then write('''''''''''')';
  Andrei[21]:='      else write(Andrei[i][j]);';
  Andrei[22]:='    end;';
  Andrei[23]:='    writeln('''''';'');';
  Andrei[24]:='  end;';
  Andrei[25]:='  writeln(''  Paul;'');';
  Andrei[26]:='  writeln(''  Crawler;'');';
  Andrei[27]:='  writeln(''end.'');';
  Andrei[28]:='end;';
  Andrei[29]:='begin';
  Paul;
  Crawler;
end.


Titlul: Răspuns: 000 A+B
Scris de: Codrea Marcel din Martie 04, 2007, 00:37:13
Mie nu imi place !  :cow:
Desi in cazul in care nu am idei la judeteana , ma voi apuca sa implementez A+B dupa ideea ta !


Titlul: Răspuns: 000 A+B
Scris de: Ionescu Robert Marius din Martie 17, 2007, 22:33:02
cine imi explica si mie cum tre sa trimit priogramul ca imi da si cand il trimit imi dai o gramada de erori......


Titlul: Răspuns: 000 A+B
Scris de: Paul-Dan Baltescu din Martie 18, 2007, 09:13:21
Fii mai explicit. Cand il trimiti primesti eroare din partea site-ului sau evaluatorul iti spune ca ai Eroare de compilare?


Titlul: Răspuns: 000 A+B
Scris de: Ionescu Robert Marius din Martie 18, 2007, 14:54:59
pai acum am reusit ca eu pu8neam void main si mia spus cineva ca tre sa pun int main dar la o pb imi da eroarea :Killed by signal 11(SIGSEGV) d c imi da eroarea asta?? :sad:


Titlul: Răspuns: 000 A+B
Scris de: Bondane Cosmin din Martie 18, 2007, 15:12:47
Ai mai sus ceva cod in c++ cu o sursa la aceasta problema (nu ai nevoie de nr mari). Habar nu am dc iei Killed by signal 11.

http://infoarena.ro/documentatie/evaluator aici ai totul despre evaluator si mesajele returnate de el.


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din Martie 18, 2007, 15:23:27
pai acum am reusit ca eu pu8neam void main si mia spus cineva ca tre sa pun int main dar la o pb imi da eroarea :Killed by signal 11(SIGSEGV) d c imi da eroarea asta?? :sad:

Intreb si eu, dar pui "return 0;" la sfarsitul functie main?


Titlul: Răspuns: 000 A+B
Scris de: Ionescu Robert Marius din Martie 18, 2007, 15:31:39
Cod:
#include<fstream.h>
long long a[200];
int main(){
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long long N;
fin>>N;
long long nr=N;
for (long long i=2;i<=N;i++){
for (long t=0;t<=N;t++)
    a[t]=0;
  long long x=i;
  while (x%2==0){
a[2]=1;
x/=2;}
      for (long long h=3;h<=N;h+=2)
   while (x%h==0){
a[h]=1;
x/=h;}
    nr++;
    for (long long e=2;e<=N;e++) {
short ok=1;
for (long s=1;s<N;s++)
   if (a[s]!=0)
    if (e%s==0)
ok=0;
    else
       if (s%e==0)
   ok=0;
if (ok==1)
   nr++;}
}
if (N%2==1)
   nr--;
fout<<nr;
fin.close();
fout.close();
return 0;}

ASTA E PROBLEMA zimi si mie ce nu e bine??

am si eu inca o intrebare ce tre sa pun in loc de endl ca daca il pun imi da eroare

[Editat de moderator: NU mai posta de TREI ori consecutiv, incearca sa postezi in topicu bun]


Titlul: Răspuns: 000 A+B
Scris de: HighScore din Martie 18, 2007, 15:43:18
1 la mana ce ai scris tu acolo nu e prob a+b, poate mai degraba prob fractii
2 in loc de endl poti sa pui fout<<"\n";
3 ai putea sa incerci si sa folosesti tagu de code cand postezi surse
LE: primesti killed by signal pentru ca declari un vector de 200(a[200]) p kre il parcurgi pana la n(Nmax=1.000.000)


Titlul: Răspuns: 000 A+B
Scris de: Ionescu Robert Marius din Martie 20, 2007, 18:16:47
de ce imi da Killed by signal 11(SIGSEGV).????? ce nu am ous bine dsau ce tre sa fac??


Titlul: Răspuns: 000 A+B
Scris de: Bondane Cosmin din Martie 20, 2007, 18:35:57
1 la mana ce ai scris tu acolo nu e prob a+b, poate mai degraba prob fractii
2 in loc de endl poti sa pui fout<<"\n";
3 ai putea sa incerci si sa folosesti tagu de code cand postezi surse
LE: primesti killed by signal pentru ca declari un vector de 200(a[200]) p kre il parcurgi pana la n(Nmax=1.000.000)


Titlul: Răspuns: 000 A+B
Scris de: Cezar Mocan din Martie 20, 2007, 18:41:43
de ce imi da Killed by signal 11(SIGSEGV).????? ce nu am ous bine dsau ce tre sa fac??
Sau pentru ca incearca sa citeasca din fisierul "fractii.in", care nu exista pe acolo.


Titlul: Răspuns: 000 A+B
Scris de: Unbekannte Name din Martie 26, 2007, 22:52:13
Problema asta este pentru a testa doar compilatorul, si modul lui de functionare presupun...Asa ceva am facut in primul meu an de informatica (clasa a IX-a) dupa ce invatasem console in si out!!! :shock: ](*,) Glumeam si eu... :P


Titlul: Răspuns: 000 A+B
Scris de: Andrei Misarca din Aprilie 22, 2007, 11:14:22
dak faci citirea si afiseara cu headerul fstream tre sa faci cva de genu
Cod:
#include<fstream>
using namespace std;
dar eu te sfatuiesc sa folosesti headerul <stdio.h>


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Aprilie 22, 2007, 13:16:24
eu am facut cu <fstream.h>, fara "using namespace std;" .. si am luat 100..


Titlul: Răspuns: 000 A+B
Scris de: Calin Paul din Iulie 02, 2007, 20:59:39
oh yea! prima mea problema de C++ si are punctaj maxim. :quagmire:
woohoo! i`m proud of me, am reusit sa fac suma a doua numere..

lame  ???  :thumbdown:

(ps: just another geek`o passing from pascal to c++ .. )


Titlul: Răspuns: 000 A+B
Scris de: Puni Andrei Paul din Iulie 02, 2007, 22:27:52
oh yea! prima mea problema de C++ si are punctaj maxim. :quagmire:
woohoo! i`m proud of me, am reusit sa fac suma a doua numere..

lame  ???  :thumbdown:

(ps: just another geek`o passing from pascal to c++ .. )
ok ... acuma treci de la c++ la  ](*,) ... cel putin atata te duce capu  :wink:


Titlul: Răspuns: 000 A+B
Scris de: Mircea Duman din August 11, 2007, 18:18:19
am incercat sa rezolv in cazul unor numere date mai mari
Cod:
#include <iostream.h>
#include <fstream.h>
#include <string.h>
fstream f("adunare.in",ios::in);
fstream g("adunare.out", ios::out);
void adunare(char nr1[10], char nr2[10], int i, int j) {
     int t=0; // 0 unitati de adaugat
     for (j;j>=0;j--,i--) {
         nr1[i]=nr1[i]+nr2[j]-48+t;t=0;
         if (nr1[i]>57) {  //dk suma cifrelor > 10
            t=1;
            nr1[i]-=10;
         }
     }
     if (i==-1&&t==1) //dk a ramas restul neadaugat se tipareste
g<<1;
     else
nr1[i]+=t;
g<<nr1; //tiparirea sumei
}
int main() {
       int i,j;char nr1[10],nr2[10];
       f.get(nr1,10);f.get();f.get(nr2,10);
       i=strlen(nr1)-1;
       j=strlen(nr2)-1;
       if (i>j) //care e nr mai lung
          adunare (nr1,nr2,i,j);
       else
            adunare (nr2,nr1,j,i);             
       f.close();g.close();
       return 0;
}

       


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din August 12, 2007, 11:29:42
 :-s Okay! Si de ce ai postat?  :eyebrow:


Titlul: Răspuns: 000 A+B
Scris de: Maria Stanciu din August 12, 2007, 11:44:22
mircea, din cate stiu eu dc incluzi headerul fstream e absolut inutil sa mai incluzi si iostream  :wink: [ca fapt divers, poate te ajuta pe viitor]


Titlul: Răspuns: 000 A+B
Scris de: Cezar Mocan din August 12, 2007, 11:59:08
Stiti careva cum se poate lua 90 la A+B?? :mrgreen:

http://infoarena.ro/job_detail/52708

Foarte dubioasa chestie...


Titlul: Răspuns: 000 A+B
Scris de: Savin Tiberiu din August 12, 2007, 12:02:11
uite asa :D
Cod:
#include <stdio.h>

int main()
{
long int a,b;
freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout):
scanf("%ld %ld",&a,&b);
if (a+b==1930) printf("1934);
     else printf("%ld",a+b);
return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Stefan Istrate din August 12, 2007, 17:26:41
Cred ca vroiai sa zici:
Cod:
if (a+b==1954) 
   printf("1930);
else
   printf("%ld",a+b);
Ca sa se potriveasca cu http://infoarena.ro/job_detail/52708


Titlul: Răspuns: 000 A+B
Scris de: Mircea Duman din August 15, 2007, 03:00:27
:-s Okay! Si de ce ai postat?  :eyebrow:
Pentru ca nu am fost atent :(( ma asteptam la ceva mai greu si nu mi-am dat seama ca e un simplu cout<<a+b; M-am gandit ca sa nu fie in zadar munca mea sa public rezolvarea pentru numere mari. si...se obtin cele 100 de puncte.
Da, Sigrid, ai dreptate, nu mai era necesar iostream ;) .


Titlul: Răspuns: 000 A+B
Scris de: Tudose Bogdan din Septembrie 04, 2007, 23:29:37
bai frate am rezolvat problema...si nush de ce nu merge :D poate ma lamuriti voi:

#include<fstream.h>
#include<conio.h>

main()
{
 int a,b;
 cout<<"a=";cin>>a;
 cout<<"b=";cin>>b;
 ofstream f("c:\adunare.out");
 f<<"suma celor doua numere "<<a+b;
 f.close();
}


Titlul: Răspuns: 000 A+B
Scris de: Bondane Cosmin din Septembrie 04, 2007, 23:34:27
Pai citeste numerele din fisierul adecvat problemei si la fel si afisarea.

ifstream fin("adunare.in");
fin >> a >> b;

ofstream fout("adunare.out");
fout << a+b;


Titlul: Răspuns: 000 A+B
Scris de: Mircea Dima din Septembrie 05, 2007, 09:11:12
bai frate am rezolvat problema...si nush de ce nu merge :D poate ma lamuriti voi:

#include<fstream.h>
#include<conio.h>

main()
{
 int a,b;
 cout<<"a=";cin>>a;
 cout<<"b=";cin>>b;
 ofstream f("c:\adunare.out");
 f<<"suma celor doua numere "<<a+b;
 f.close();
}


In primul rand scoate conio.h ( nu exista sub linux)
apoi functia main sa fie de tip int si sa returneze 0 ( ex: int main(){ .... return 0;} )
Si nu mai afisa alte lucruri decat iti cere in problema (ex: "suma celor doua numere")


Titlul: Răspuns: 000 A+B
Scris de: Bula Ionut din Decembrie 10, 2007, 20:51:08
ce tare e problema asta(glumeam) , nu am reusit deloc sa scot puncatj maxim.
tare nu?


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Decembrie 10, 2007, 21:01:36
Scrie pe linia a doua

Cod:
using namespace std;


Titlul: Răspuns: 000 A+B
Scris de: Stefan Istrate din Decembrie 10, 2007, 21:05:33
Daca ma gandesc bine, merge si pe prima linie. :P


Titlul: Răspuns: 000 A+B
Scris de: Bula Ionut din Decembrie 10, 2007, 21:32:24
totusi, nu inteleg de ce sa scriu acest lucru. mie mi-a mers de atatea ori fara namespace.
apropo la ce foloseste ca sa stiu mai sigur.


Titlul: Răspuns: 000 A+B
Scris de: Bondane Cosmin din Decembrie 10, 2007, 21:37:30
Citeste pentru mai multe detalii aici : http://www.cplusplus.com/doc/tutorial/namespaces.html 

P.S. Google is your friend :).


Titlul: Răspuns: 000 A+B
Scris de: Bula Ionut din Decembrie 10, 2007, 22:10:33
i'm going craaaaaaazzy
tot nu inteleg de ce nu imi da punctaj

#include<fstream>
ifstream f ("adunare.in");
ofstream g ("adunare.out");
void main()
{         long int a,b;

 f>>a;
 f>>b;

 g<<(a+b);

}



cu ce am gresit?
ceva tot trebuie sa fie.
am preschimbat si main-ul in int main(){ am facut...  return 0).
chiar asa ceva nu pot sa cred.

PS:mersi de namespace, am citit articolul.


Titlul: Răspuns: 000 A+B
Scris de: Bondane Cosmin din Decembrie 10, 2007, 22:15:42
Cod:
#include <fstream>
using namespace std;

int main()
{
    ifstream fin("adunare.in");
    ofstream fout("adunare.out");
    int a, b;
    fin >> a >> b;
    fout << a+b;
    return 0;
}   

Uite un cod simplu pentru pb asta. Din cate vad eu, tu iei eroare la compilare...


Titlul: Răspuns: 000 A+B
Scris de: Bula Ionut din Decembrie 10, 2007, 22:26:42
mersi, pana la urma l-am rezolvat fara namespace cu un FILE *... cu fprintf si fscanf.
e o chestiune destul de sensibila din cate observ. sau poate nu cunosc.  daca ar fi un program mare si grozav rezolvat care mi-ar da eroare din cauza fisierului...
oricum mersi.


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Decembrie 11, 2007, 11:39:12
totusi, nu inteleg de ce sa scriu acest lucru. mie mi-a mers de atatea ori fara namespace.
apropo la ce foloseste ca sa stiu mai sigur.

Ti-a mers pentru ca programezi in Borland. Exista diferente mari intre compilatoarele moderne si Borland. Din pacate aceste diferente sunt prea multe pentru un post pe forum.


Titlul: Răspuns: 000 A+B
Scris de: Daian Dragos din Februarie 25, 2008, 17:04:12
hey auziti se pot face problemele si in pascal sau numai in c++????


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din Februarie 25, 2008, 17:16:59
Se poate si in Pascal...


Titlul: Răspuns: 000 A+B
Scris de: Daian Dragos din Februarie 29, 2008, 16:19:57
 ](*,) da mah da cum tre sa  trimit sursa pt fisiere nu???? da ii aici nush un link und zice ca nu se poate in pascal numa c......... :weightlift:

si ma rog de pot in kre pascal pot trimite ca am gasit pe net un pascal und merge mai multi kb ..... .cva rasp pls :sad:

 [Editat de moderator:] Nu posta de doua ori consecutiv pe aceeasi tema!  


Titlul: Răspuns: 000 A+B
Scris de: Paul-Dan Baltescu din Februarie 29, 2008, 17:11:39
Te-as ajuta, dar nu inteleg nimic din ce spui. Incearca sa formulezi ideile in propozitii, sa folosesti cuvinte intregi (nu "und", "cva", "rasp", etc.) si foloseste semnele de punctuatie cu masura.


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din Februarie 29, 2008, 17:15:52
presupun ca te referi la free pascal... Deci... uploadezi fisierul.. adica ii dai browse si dai calea catre el si in functie de extensia programului (.pas, .c sau .cpp) site-ul va alege automat pentru tine compilatorul... adica pentru ".c" GNU c pt ".cpp" GNU C++ si pentru ".pas" free pascal. probabil nu aveai extensia buna sau poate ai salvat ca .c (desi pare aiurea) da alta explicatie nu vad :-'


Titlul: Răspuns: 000 A+B
Scris de: alina gherman din Noiembrie 08, 2008, 13:59:22
imi spune si mie ce nu e bine la sursa asta?ca sincer nu-mi dau seama

Cod:
#include<iostream.h>
#include<conio.h>
#include<fstream.h>



long int a,b;

int main()
{
ifstream fin("adunare.in");
fin>>a>>b;
fin.close();

    ofstream fout("adunare.out");
fout<<a+b;
fout.close();

return 0;

}

Editat de moderator: Foloseste tag-ul "code" data viitoare cand postezi cod.


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Noiembrie 08, 2008, 14:03:04
Citat
user.cpp:2:18: error: conio.h: No such file or directory
Nu folosi conio.h !!!

L.E.: citeste http://infoarena.ro/documentatie (http://infoarena.ro/documentatie)


Titlul: Răspuns: 000 A+B
Scris de: alina gherman din Noiembrie 08, 2008, 23:09:19
Multumesc:)


Titlul: Răspuns: 000 A+B
Scris de: Tansanu Florin din Noiembrie 28, 2008, 19:24:13
Imi spune si mie cineva ce am gresit la problema, mie la PC imi evalueaza corect problema insa aici au intervenit erori :readthis::
Cod:
#include<fstream.h>
ifstream fin("adunare.in");
ofstream fout("adunare.out");
void main()
{
long int a, b, s;
fin>>a>>b;
s=a+b;
fout<<s;
}


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Noiembrie 28, 2008, 19:30:24
Iti scrie ce erori primesti in borderoul jobului: http://infoarena.ro/job_detail/223537

Functia main trebuie sa returneze un int, nu void.


Titlul: Răspuns: 000 A+B
Scris de: Tansanu Florin din Noiembrie 28, 2008, 19:53:31
Si cum as putea face? :?


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Noiembrie 28, 2008, 20:27:57
in loc de void main() sa scrii int main().. si inainte de ultima acolada, scrii return 0;


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Noiembrie 28, 2008, 20:30:26
Nu e necesar sa scrii return 0. Standardul C++ prevede intoarcerea automata a valorii 0 in caz ca nu se returneaza nimic explicit de catre programator.


Titlul: Răspuns: 000 A+B
Scris de: Tansanu Florin din Noiembrie 29, 2008, 16:39:00
Multumesc mult de ajutor.... :yahoo:


Titlul: Răspuns: 000 A+B
Scris de: Iacobescu Cristi din Ianuarie 22, 2009, 23:04:33
Sunt nou pe site am facut o problema relativ simpla A+B

Cod:
# include <iostream.h>
int main ()
{
int a,b,s;
cout <<"a="; cin >>a;
cout <<"b="; cin >>b;
s=a+b;
cout <<"s=" <<s;
return 0;
}

La monitorul de evaluare imi apare 0 puncte.

Nu inteleg ce trebuie trimis (eu am trimis fisierul cu algoritmul acesta in format .CPP) mai trebuie si altceva ? :aha:

[edit] foloseste tagul "[ code ]" (fara spatii si ghilimele) cand postezi cod pe forum


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din Ianuarie 22, 2009, 23:15:23
Citirea se face din fisiere, nu de la tastatura. De asemenea, nu trebuie sa afisezi "a=" sau "b=", evaluatorul e automat si trebuie sa respecti tu formatul fisierului de intrare ;) Un inceput bun ar fi sa citesti acest tutorial (http://infoarena.ro/documentatie/tutorial).

Pentru a citi din fisiere poti folosi functiile din iostream si fstream. Uite un exemplu de pe C++ Reference (http://www.cplusplus.com/reference/iostream/ofstream/ofstream.html):
Cod:
// using ofstream constructors.
#include <iostream>
#include <fstream>
using namespace std;

int main () {

  ofstream outfile ("test.txt");

  // >> i/o operations here <<

  outfile.close();

  return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Tandrau Alexandru din Ianuarie 22, 2009, 23:15:33
trebuie sa citesti si sa afisezi in fisiere
uita-te la sursa asta (cu fopen): http://infoarena.ro/job_detail/31?action=view-source
sau la asta (cu freopen): http://infoarena.ro/job_detail/131?action=view-source


Titlul: Răspuns: 000 A+B
Scris de: Tudor Popa din Februarie 19, 2009, 22:14:20
lol este cea mai simpla problema posibila


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Februarie 19, 2009, 22:36:13
lol este cea mai simpla problema posibila
lol tu inca nu ai luat 100 de puncte pe ea  :P


Titlul: Răspuns: 000 A+B
Scris de: Tudor Popa din Februarie 19, 2009, 22:39:42
lol mi-a dat de gandit
este usoara problema in sine
dar trebuie sa te gandesti bine cand declari variabilele
asta-i smecheria

[later edit] acum am luat 100 pct pe ea  :winner1:

[editat de moderator] Nu posta consecutiv. Foloseste butonul "modifica".


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Februarie 19, 2009, 22:44:24
Tu ai folosit unsigned long... mergeau declarate si int. Nu e nicio smecherie nici acolo. Problema e doar ca sa inveti si sa pricepi cum se trimite o solutie la o problema :)


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din Februarie 19, 2009, 22:47:06
acum am luat 100 pct pe ea   :winner1:

Felicitarile mele!


Titlul: Răspuns: 000 A+B
Scris de: Tudorica Constantin Alexandru din Februarie 28, 2009, 20:43:21
lol mi-a dat de gandit
este usoara problema in sine
dar trebuie sa te gandesti bine cand declari variabilele
asta-i smecheria


hmm cred ca e mai grea ca http://www.spoj.pl/problems/TEST/ (http://www.spoj.pl/problems/TEST/)


Titlul: Răspuns: 000 A+B
Scris de: Ana Rogoz din Martie 14, 2009, 19:40:31
cand ai citit ai dat %li si trb %ld


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din Martie 15, 2009, 16:59:22
E acelasi lucru. Daca nu ma insel, %d, %ld, %lld au inlocuit vechiul format %i, %li, %lli.


Titlul: Răspuns: 000 A+B
Scris de: Bogdan-Cristian Tataroiu din Martie 15, 2009, 17:16:13
Nu e acelasi lucru: cu %i daca numarul incepe cu 0 atunci va fi citit ca octal si (nu sunt sigur de asta) daca incepe cu 0x atunci va fi citit un numar in hexazecimal. %i inglobeaza %d, %o si %x. Cred ca scrie deja in topic asta oricum :)


Titlul: Răspuns: 000 A+B
Scris de: Nicoara Ionut din Martie 18, 2009, 10:44:54
asa "GREA" este problema aceasta .............. :D


Titlul: Răspuns: 000 A+B
Scris de: Paul-Dan Baltescu din Martie 18, 2009, 13:03:44
Atitudinea ta mi se pare ca lasa de dorit. Ai facut cea mai simpla problema din arhiva si deja te lauzi. In schimb, am vazut ca pe alte topicuri de probleme simple ceri ajutor. Ce ai zice sa fii mai modest? Eu cred ca comunitatea te va aprecia mai mult asa (si probabil te va ajuta cu mai multa tragere de inima).


Titlul: Răspuns: 000 A+B
Scris de: FMI - Radu Vlad din Martie 22, 2009, 23:38:09
vreau si eu sa stiu de ce iau 0 cu eroarea:Eroare de compilare la urmatorul cod sursa:
Cod:
#include<fstream.h>

int main()
{
fstream f,g;
f.open("adunare.in",ios::in);
g.open("adunare.out",ios::out);

long x,y;
f>>x>>y;
g<<x+y;
f.close();
g.close();
return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Andrei-Bogdan Antonescu din Martie 22, 2009, 23:55:13
Pentru ca folosesti functia ios pentru a deschide fisierele, pentru asta trebuie sa pui
Cod:
#include <iostream>
sau
Cod:
using namespace std

Probabil ca compilatorul tau nu e coform standardelor si daia nu iti dadea eroare.  :)


Titlul: Răspuns: 000 A+B
Scris de: FMI - Radu Vlad din 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!


Titlul: Răspuns: 000 A+B
Scris de: Popescu George din Martie 24, 2009, 18:57:54
nu am ce sa comentez :roll:


Titlul: Răspuns: 000 A+B
Scris de: Valentin Stanciu din 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 documentatia (http://infoarena.ro/documentatie)

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. ;)


Titlul: Răspuns: 000 A+B
Scris de: Rosca Valentin din 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;
}


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din Aprilie 03, 2009, 14:57:38
Sursa aia ia max. Ai incercat sa o trimiti macar?


Titlul: Răspuns: 000 A+B
Scris de: Guga Ioana din 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!


Titlul: Răspuns: 000 A+B
Scris de: Burnei Alexandru Vlad din 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(
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... :)


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din 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.


Titlul: Răspuns: 000 A+B
Scris de: Andrei-Bogdan Antonescu din Aprilie 07, 2009, 19:42:10
Si vezi ca fisierele sunt "adunare.in/.out" nu "suma".


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din 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 :D


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din 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 :D

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 :

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 ();
}


Titlul: Răspuns: 000 A+B
Scris de: Rusu Andrei Robert din Aprilie 08, 2009, 16:11:47
Cel mai simplu :D
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/]


Titlul: Răspuns: 000 A+B
Scris de: persa dan alexandru din 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


Titlul: Răspuns: 000 A+B
Scris de: Rosca Valentin din 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. :winner1:


Titlul: Răspuns: 000 A+B
Scris de: Nad Acrepuic din Aprilie 09, 2009, 17:05:25
Mersi ca m-ai luminat  :shock: . Nu stiam sa fac problema  :fool:


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din 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 ?


Titlul: Răspuns: 000 A+B
Scris de: A Cosmina - vechi din 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> ?


Titlul: Răspuns: 000 A+B
Scris de: Stefan Istrate din 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.


Titlul: Răspuns: 000 A+B
Scris de: A Cosmina - vechi din Aprilie 13, 2009, 17:43:12
Inteleg.Deci daca vreau sa decalr un fisier trebuie sa pun: fstream f("adunare.in",std::ios::in) ?


Titlul: Răspuns: 000 A+B
Scris de: Stefan Istrate din Aprilie 13, 2009, 18:56:41
Am impresia ca trebuie si std::fstream. Incearca sa vezi.


Titlul: Răspuns: 000 A+B
Scris de: Porcescu Alexandru din Iunie 18, 2009, 15:33:10
Imi spune si mie cineva ce am gresit?
Deoarece la mine merge programul!
 :x


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din 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 (http://infoarena.ro/documentatie/evaluator) ?


Titlul: Răspuns: 000 A+B
Scris de: Bogdan Andrei din Iunie 19, 2009, 18:09:29
Sursa pentru Delphi:  :P

"
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.
"


Titlul: Răspuns: 000 A+B
Scris de: Andrei Misarca din Iunie 19, 2009, 19:11:57
Sursa pentru Delphi:  :P

"
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.


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din 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...  ???


Titlul: Răspuns: 000 A+B
Scris de: Echo Slam din Iunie 24, 2009, 09:51:00
Toate problemele sunt cu date de intrare respectiv iesire? :?


Titlul: Răspuns: 000 A+B
Scris de: Echo Slam din Iunie 24, 2009, 14:52:24
Si no sa se introduca niciodata probleme fara fstream?  :sad:


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din Iunie 24, 2009, 14:53:58
Avand in vedere ca evaluatorul suporta doar probleme cu fisiere, nu vad cum ar merge altfel. Poti face si fara fstream, cu stdio.h. Fstream e doar o functie pentru fisiere, nu notiunea de fisier :).


Titlul: Răspuns: 000 A+B
Scris de: A Cosmina - vechi din Iunie 24, 2009, 15:08:47
Pai problemele de pe infoarena sunt pentru pregatirea pentru Olimpiada.La Olimpiada se vor da in continuare probleme care sa foloseasca fisiere...
Daca nu stii,invata.Mie mi se pare usor. Don't worry,try to learn and you'll be happy !  :D


Titlul: Răspuns: 000 A+B
Scris de: Savin Tiberiu din Iunie 24, 2009, 20:24:42
Pai problemele de pe infoarena sunt pentru pregatirea pentru Olimpiada.La Olimpiada se vor da in continuare probleme care sa foloseasca fisiere...
Daca nu stii,invata.Mie mi se pare usor. Don't worry,try to learn and you'll be happy !  :D

La olimpiada mai exista si probleme interactive care nu folosesc fisiere.


Titlul: Răspuns: 000 A+B
Scris de: Echo Slam din Iunie 26, 2009, 15:42:25
Cod:
Cod:
#include <fstream>

int main()
{

ifstream f("adunare.in");
ofstream g("adunare.out");
long int a,b;
f>>a>>b;
g<<a+b;

f.close();
g.close();
return 0;
}
Nu iasa:| what`s wrong?:|

[editat de moderator]Foloseste tagul "code" cand postezi cod pe forum, nu e suficient sa scrii doar "Cod:"


Titlul: Răspuns: 000 A+B
Scris de: Sima Cotizo din Iunie 26, 2009, 16:11:30
Foloseste "using namespace std;" dupa #include.

Cod:
#include <fstream>
using namespace std;

int main()
{

ifstream f("adunare.in");
ofstream g("adunare.out");
long int a,b;
f>>a>>b;
g<<a+b;

f.close();
g.close();
return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Porcescu Alexandru din Iunie 28, 2009, 01:06:53
Salut......Imi spune si mie cineva ce am gresit?
Cod:
#include<iostream.h>
#include<fstream.h>
void main()
{
ifstream x("Adunare.in",ios::in|ios::noreplace);
ofstream y("Adunare.out",ios::out|ios::noreplace);
unsigned int a,b,c=0;
x>>a>>b;
c=a+b;
y<<c;
x.close();
y.close();
}
[Editat de moderator] Foloseste tagul code


Titlul: Răspuns: 000 A+B
Scris de: A Cosmina - vechi din Iunie 28, 2009, 08:56:57
Punei int main() si return 0.

Cod:
#include<iostream.h>
#include<fstream.h>
int main()
{
ifstream x("Adunare.in",ios::in|ios::noreplace);
ofstream y("Adunare.out",ios::out|ios::noreplace);
unsigned int a,b,c=0;
x>>a>>b;
c=a+b;
y<<c;
x.close();
y.close();
return 0;
}


Am mai vorbit noi de asta pe un topic.Puteai sa te uiti pe surse,parca e open problema.Si iti dadeai seama imediat ce nu-i in regula...
Aporpo,vezi ca tipul unsigned int e prea mic.Unsigned int are valoarea maxima 255 (daca nu ma insel) si este echivalentul in pascal al tipului byte,de 1 octet.
Deci schimba tipul. ;)

Editat:

Nu prea am inteles ce-ai facut tu cu fisierele alea.Incearca asa,e mult mai simplu:

Cod:
ifstream f("adunare.in");
ofstream g("adunare.out");

Si nu mai pune numele "Adunare.in", C++ e CASESENSITIVE deci face deosebirea dintre majuscule si minuscule.In documentatia privind problemele se specifica faptul ca numele fisierelor trebuie sa fie cu minuscule.

Un alt lucru,foloseste tagul code.  8)


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din Iunie 28, 2009, 10:34:49
Aporpo,vezi ca tipul unsigned int e prea mic.Unsigned int are valoarea maxima 255 (daca nu ma insel) si este echivalentul in pascal al tipului byte,de 1 octet.
Deci schimba tipul. ;)

unsigned int contine numere din intervalul [0, 65535]. unsigned char are din [0,255].


Titlul: Răspuns: 000 A+B
Scris de: A Cosmina - vechi din Iunie 28, 2009, 11:00:06
Scuze atunci,am incurcat... :oops:


Titlul: Răspuns: 000 A+B
Scris de: Savin Tiberiu din Iunie 28, 2009, 11:00:27
Asta se intampla pe borland. In gcc int == long int = 32 de biti. Deci unsigned int duce pana la 2 miliarde.


Titlul: Răspuns: 000 A+B
Scris de: Florian Marcu din Iunie 28, 2009, 13:42:43
Asta se intampla pe borland. In gcc int == long int = 32 de biti. Deci unsigned int duce pana la 2 miliarde.

Da. Scuze. Eu am zis dupa cum am invatat in scoala.  :aha:


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Iunie 28, 2009, 14:41:13
Greu de tot cu tipurile de date: unsigned int ia valori intre 0 si 2^32-1 (4 miliarde si ceva).

@Florian: Au trecut vremurile in care scoala era o sursa buna de informare.


Titlul: Răspuns: 000 A+B
Scris de: Savin Tiberiu din Iunie 28, 2009, 15:13:12
ooops :-'


Titlul: Răspuns: 000 A+B
Scris de: Iancu David Traian din Noiembrie 13, 2009, 17:48:31
Este chiar amuzant de facut problema asta pe numere mari:) 


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Decembrie 08, 2009, 11:29:22
Mesajele care nu au legatura cu topicul vor fi sterse fara avertisment.


Titlul: Răspuns: 000 A+B
Scris de: Balta Romeo-Ionut din Februarie 10, 2010, 15:49:16
sunt curios cum uploadez si adunare.in / adunare.out?   ](*,)


Titlul: Răspuns: 000 A+B
Scris de: Romila din Februarie 10, 2010, 15:55:23
Trebuie sa uploadezi doar sursa.
Cod:
ifstream f("adunare.in"); pentru intrare
ofstream g(adunare.out"); pentru iesire
Tu ai pus fstream f("adunare.in") si fstream g(adunare.out");.


Titlul: Răspuns: 000 A+B
Scris de: Balta Romeo-Ionut din Februarie 10, 2010, 16:04:01
ok... saru'mana!!!


Titlul: Răspuns: 000 A+B
Scris de: Ilinca Ciprian din Martie 31, 2010, 18:39:46
#include<stdio.h>
void main()
{
  long a,b,s;
  FILE *f=fopen("adunare.in","r"),*g=fopen("adunare.out","w");
  fscanf(f,"%ld",&a);
  fscanf(f,"%ld",&b);
   s=a+b;
  fprintf(g,"%ld\n",s);
  fclose(g);
  fclose(f);

}
  imi poate explica cineva de ce nu imi apare nimic in adunare.out


Titlul: Răspuns: 000 A+B
Scris de: Simoiu Robert din Martie 31, 2010, 18:43:22
Din cate stiu main-ul trebuie sa fie int, nu void, altfel mie nu-mi compileaza ....


Titlul: Răspuns: 000 A+B
Scris de: Toma Daniel din Noiembrie 16, 2010, 22:39:08
he he ! asta stiu sa-l fac si eu  =D&gt;

#include <iostream>
using namespace std;
int main()
{
   int a,b,s;
   cout<<"a=";
   cin>>a;
   cout<<"b=";
   cin>>b;
   s=a+b;
   cout<<"a+b="<<s;
   return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Pripoae Teodor Anton din Noiembrie 16, 2010, 23:48:16
he he ! asta stiu sa-l fac si eu  =D&gt;

#include <iostream>
using namespace std;
int main()
{
   int a,b,s;
   cout<<"a=";
   cin>>a;
   cout<<"b=";
   cin>>b;
   s=a+b;
   cout<<"a+b="<<s;
   return 0;
}

Nu-i bine. In primul rand citirea / scrierea se face cu fisiere, si in al doilea rand nu trebuie sa afisezi nimic in plus.


Titlul: Răspuns: 000 A+B
Scris de: Andrei Misarca din Noiembrie 17, 2010, 02:13:22
he he ! asta stiu sa-l fac si eu  =D&gt;

#include <iostream>
using namespace std;
int main()
{
   int a,b,s;
   cout<<"a=";
   cin>>a;
   cout<<"b=";
   cin>>b;
   s=a+b;
   cout<<"a+b="<<s;
   return 0;
}
Aparent, n-ai citit enunțul până la capăt.
Citat
Precizare
Problema e dată pentru a vă obişnui cu site-ul. Nu e nevoie să postaţi pe forum că e foarte uşoara, ştim cu toţii asta. :)


Titlul: Răspuns: 000 A+B
Scris de: Robert Badea din Decembrie 23, 2010, 14:09:51
Mi-a luat un sfert de ora sa ma prind ca e fstream.h.  :shock:


Titlul: Răspuns: 000 A+B
Scris de: Simoiu Robert din Decembrie 23, 2010, 14:38:02
De fapt .h e un header mai vechi, headerul nou fiind fstream fara .h, doar ca trebuie adaugat si namespace-ul std :P .


Titlul: Răspuns: 000 A+B
Scris de: Kovacs Levente din Martie 16, 2011, 13:51:04
[deleted]

Revizuieste-ti limbajul!


Titlul: Răspuns: 000 A+B
Scris de: Petenchea Alexandru din Mai 07, 2011, 20:08:02
O scurta lamurire privind fluxul (stream inseamna flux) pentru cei care nu sunt obisnuiti cu fstream :
- iostream ( input output stream ) - adica flux intrare/iesire cu utilizatorul (tastatura)
- fstream ( file stream ) - adica flux fisiere (folosit in cazul de fata) :peacefingers:


Titlul: Răspuns: 000 A+B
Scris de: Edi Pop din Iulie 08, 2011, 00:38:54
eu am luat 0 prima oara :))


Titlul: Răspuns: 000 A+B
Scris de: Grigorovici Andreea Simona din Octombrie 15, 2011, 10:12:18
Buna,

Ce e ineregula la citirea mea?

Eu una asa am invatat-o la scoala...:|


Titlul: Răspuns: 000 A+B
Scris de: Paul-Dan Baltescu din Octombrie 15, 2011, 23:01:54
Cred ca pe infoarena folosim un compilator mai modern de C++ decat cu ce ai lucrat la scoala. Foloseste urmatoarea secventa de cod si ar trebui sa mearga:
Cod:
#include <fstream>
using namespace std;


Titlul: Răspuns: 000 A+B
Scris de: horos grisa din Noiembrie 09, 2011, 17:09:48
 :D


Titlul: Răspuns: 000 A+B
Scris de: Mitrea Andrei Ionut din Decembrie 01, 2011, 17:09:07
ma eu nu stiu daca e bine ce am facut
dar cam asa am invatat
sa-mi spuna si mie unu care stie mai bine daca ee bine sau nu problema de mai jos
mie imi compileaza bine

#include<iostream.h>
int a,b,S
int main()
{cout <<”a= “>>;cin>>a;
cout<<”b= “>>;cin>>b;
S=a+b;
cout<<”S= “>>;cin>>S;
return 0;
}


astept comentarii
mersiiiiiiiiiiiii


Titlul: Răspuns: 000 A+B
Scris de: Cristian Lambru din Decembrie 01, 2011, 22:16:04
Citesti din fisier text, adica textul tau ar trebui sa arate cam asa:

Cod:
#include<fstream>
using namespace std;

ifstream f("adunare.in");
ofstream g("adunare.out");

int a,b,S;

int main()
{
    f >> a >> b;
    ...
    g << S;
}

Intreaba-ti profesorul de informatica sa-ti explice mai multe despre fisierele text :) !


Titlul: Răspuns: 000 A+B
Scris de: Simoiu Robert din Decembrie 01, 2011, 22:25:42
Noul compilator nu mai accepta headerele vechi din C, adica alea cu .h, foloseste cele din C++, adica iostream (in cazul asta foloseste fstream pentru ca ai FISIERE), si adaugi using namespace std dupa.

Cod:
# include <fstream>
using namespace std ;

int a, b ;

int main ( void ) {
    ifstream f ( "adunare.in" ) ;
    ofstream g ( "adunare.out" ) ;

    f >> a >> b ;
    g << a + b ;
}

[LE] Same time ....


Titlul: Răspuns: 000 A+B
Scris de: Roman Alexandru-George din Decembrie 11, 2011, 15:42:52
pentru free pascal IDE?
stiti?


Titlul: Răspuns: 000 A+B
Scris de: Stefan Teodorescu din Ianuarie 03, 2012, 17:48:15
sursa mea e cu siguranta cea mai inspirata  :D   :P
Cod:
#include<fstream>
#include<new>
using namespace std;
ifstream in("adunare.in");
ofstream out("adunare.out");
class suma{
private:
long long *a,*b;
public:
inline void set_values(long long,long long);
inline int sumax(){return *a+*b;};
inline void del(){delete a;delete b;};
};
inline void suma::set_values(long long x,long long y){
a=new (nothrow) long long;
b=new (nothrow) long long;
*a=x;
*b=y;
}
int main()
{
long long c,d;
suma x;
in>>c>>d;
x.set_values(c,d);
out<<x.sumax();
x.del();
return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: MciprianM din Ianuarie 03, 2012, 18:06:21
Totusi clasa pe care ai scris-o tu nu e prea inspirata. Daca faci set values de mai multe ori o sa ai memory leaks.


Titlul: Răspuns: 000 A+B
Scris de: Adriana Voinescu din Ianuarie 11, 2012, 13:26:15
buna!am si eu o problema la problema a+b :oops:  ](*,) uitati codul:

Cod:
#include<fstream.h>
int main() {
int a,b;
ifstream f("adunare.in");
ofstream g("adunare.out");
f>>a>>b;
g<<a+b;
f.close(); g.close();
return 0;
}

ce nu e ok???????

Editat de admin: Foloseste tagul "code" cand postezi surse.


Titlul: Răspuns: 000 A+B
Scris de: Andrei Grigorean din Ianuarie 11, 2012, 13:58:58
Biblioteca <fstream.h> nu mai poate fi folosita cu noile compilatoare. Incearca:

Cod:
#include <fstream>
using namespace std;


Titlul: Răspuns: 000 A+B
Scris de: Vladu Sorin din Februarie 09, 2012, 22:31:38
Am o problema...de fapt nu am...am luat 100 de puncte si o data 0 puncte, iar eu sincer nu inteleg diferenta dintre cele doua solutii.

Acesta este programul corect :
Cod:
#include<fstream>

using namespace std;

int a,b;

ifstream f;
ofstream g;

int main()
{

f.open("adunare.in");
f >> a >> b;
g.open("adunare.out");
g << a+b << endl;

f.close();
g.close();

return 0;
}

Iar, acesta este cel gresit :

Cod:
#include<iostream>
#include<fstream>

using namespace std;

int a,b,S;

ifstream in;
ofstream out;

int main()
{
in.open("adunare.in.txt");

in >> a;
in >> b;

S=a+b;

out.open("adunare.out.txt");
out << S;

return 0;
}

Singura diferenta este cea ca in cel gresit am adaugat fisierul iostream.h. Nimic altceva? De ce reprezinta o problema?


Titlul: Răspuns: 000 A+B
Scris de: Mihai Calancea din Februarie 09, 2012, 22:40:05
Ai gresit fisierele in a doua sursa.


Titlul: Răspuns: 000 A+B
Scris de: Vladu Sorin din Februarie 09, 2012, 22:43:18
Aha...deci...nu este voie sa folosim acel ".txt" la sfarsit. Multumesc.


Titlul: Răspuns: 000 A+B
Scris de: Mogos Vlad Andrei din Februarie 20, 2012, 13:18:29
As dori sa stiu de ce nu am primit punctaj pe aceasta problema..adica daca este vreo eroare de implementare? Eu lucrez in MingW si imi merge perfect programul. Probabil sistemul acestui site difera in anumite locuri ca scriere. Am citit si monitorul de evaluare dar inca nu sunt lamurit. As fi recunoscator sa imi trimiteti varianta corecta, pentru a intelege ce trebuie sa schimb a.i. acest site sa poata compila problema. Va multumesc.

Cu respect,
Vlad-Andrei


Titlul: Răspuns: 000 A+B
Scris de: Gabriel Bitis din Februarie 20, 2012, 13:32:41
Ai primit erori de compilare. Daca citesti mesajul primit, vezi ceva de genul:

Citat
user.cpp:3: error: expected identifier before ‘.’ token

Te uiti la tine in cod, undeva in preajma liniei 3, si cauti ceva legat de un punct pus aiurea. O sa gasesti la tine in sursa "using namespace.std" si cred ca vezi si punctul care nu e la locul lui.


Titlul: Răspuns: 000 A+B
Scris de: secret din Februarie 28, 2012, 13:23:05
dc trebe obligatoriu facuta in fisier?


Titlul: Răspuns: 000 A+B
Scris de: George Marcus din Februarie 28, 2012, 13:27:17
Pai cum vrei ca evaluatorul sa verifice daca ai facut bine? Citeste ce ai scris in fisier.


Titlul: Răspuns: 000 A+B
Scris de: Magda Mario Radu din Februarie 28, 2012, 15:15:21
#include <iostream>
#include <fstream>

using namespace std;

int main () //functia main .

int a,b,S; //se declara variabillele .

ifstream  x("x.in");
ofstream y(x.out");

x>>a>>b; //din fiserul x citim pe a si b .
S=a+b;

y<<S; // scrie in y suma celor 2 numere .
return 0;}


Era mai simplu asa , cel putin aceasta este parerea mea . ^_^
Peace !


Titlul: Răspuns: 000 A+B
Scris de: Costache Rares din Mai 12, 2012, 21:14:48
 ](*,) mda;eu sunt incepator si nu imi iese din prima.......................


Titlul: Răspuns: 000 A+B
Scris de: Sandu Alexandra Mihaela din Mai 12, 2012, 23:44:37
](*,) mda;eu sunt incepator si nu imi iese din prima.......................

Ai facut efortul de a incerca sa trimiti vreo sursa la ea inainte sa zici ca nu iti iese? * facepalm * Ce anume nu ti-a iesit? Folosirea fisierelor text, operatia + pentru 2 numere?


Titlul: Răspuns: 000 A+B
Scris de: Eugenie Daniel Posdarascu din Mai 13, 2012, 17:24:40
](*,) mda;eu sunt incepator si nu imi iese din prima.......................
Mie nici din a doua nu mi-a iesit :) :
http://infoarena.ro/monitor?task=adunare&user=eudanip


Titlul: Răspuns: 000 A+B
Scris de: Bucaciuc Andrey din Septembrie 26, 2012, 22:17:53
Ma ajuta si pe mine cineva... am rezolvat problema fara erori si alte chestii insa dupa ce o uploadez iau 0 puncte . ma ajuta cineva ... mersi


Titlul: Răspuns: 000 A+B
Scris de: Boaca Cosmin din Septembrie 26, 2012, 22:38:12
Headerele cu .h nu sunt recunoscute de compilatorul de pe infoarena, deoarece nu sunt conforme cu standardul (sa ma corecteze cineva daca gresesc) . In principiu tot ce trebuie sa faci este sa modifici in programul tau
Cod:
#include <fstream>
using namepace std;
Pe infoarena nu a nevoie de iostream .


Titlul: Răspuns: 000 A+B
Scris de: Bucaciuc Andrey din Septembrie 26, 2012, 22:54:34
mersi pentru raspund .. am rezolvat


Titlul: Răspuns: 000 A+B
Scris de: Smarandache Stefan din Octombrie 16, 2012, 10:03:26
De 4 ori am incercat.SOlutiile sunt diferite.MIe imi da 0 puncte iar altuia cu aceeasi solutie ii da 100 de pct? ](*,)


Titlul: Răspuns: 000 A+B
Scris de: Dragos-Alin Rotaru din Octombrie 16, 2012, 10:07:26
Uita-te putin mai atent la fisierul de intrare , respectiv cel de iesire . :)


Titlul: Răspuns: 000 A+B
Scris de: Grajdeanu Alexandru din Octombrie 27, 2012, 21:55:09
Cod:
#include <stdio.h>
#include <stdlib.h>

FILE *f=fopen("adunare.in","rt");
FILE *g=fopen("adunare.out","wt");

void suma()
{
int a,b;
fscanf(f,"%d",&a);
fscanf(f,"%d",&b);
fprintf(g,"%d\n",a+b);
}

void main()
{
int a,b;
suma();
}

de ce imi da eroare? Lucrez in Visual 2010. E posibil sa fie asta problema?


Titlul: Răspuns: 000 A+B
Scris de: George Marcus din Octombrie 27, 2012, 23:37:31
Incearca sa-l scrii in C++. C are reguli mai stricte.


Titlul: Răspuns: 000 A+B
Scris de: FMI-Mocioi Andreie din Noiembrie 16, 2012, 22:42:39
 :readthis:ce  versiune  aiurea de compilator c++ pentru MinGW!!!!!!!!! :readthis:


Titlul: Răspuns: 000 A+B
Scris de: Bizdoc Vasile Gabriel din Februarie 05, 2013, 00:45:03
 :readthis:


Titlul: Răspuns: 000 A+B
Scris de: Cristea Raul din Martie 21, 2013, 22:56:18
 :readthis:


Titlul: Răspuns: 000 A+B
Scris de: Cont Teste din Martie 25, 2013, 16:53:29
cea mai faina problema  :D


Titlul: Răspuns: 000 A+B
Scris de: Marcel Popa din Martie 25, 2013, 17:32:58
ce alte namespace-uri mai exista?


Titlul: Răspuns: 000 A+B
Scris de: Mercea Otniel din Iunie 08, 2013, 14:05:52
care este greseala pentru aceasta eroare?
Killed by signal 11(SIGSEGV).????
   
#include<stdio.h>
int u,p,s;
FILE *f,*g;
int main()
{
    f=fopen("adunare.in.txt","r");
    g=fopen("adunare.out.txt","w");
    fscanf(f,"%i %i",&u,&p);
    s=u+p;
fprintf(g,"%i",s);


Titlul: Răspuns: 000 A+B
Scris de: Johnny Depp din Iunie 16, 2013, 20:23:17
de ce imi da eroarea Killed by signal 11(SIGSEGV)????
#include<stdio.h>
int u,p,s;
FILE *f,*g;
int main()
{
    f=fopen("adunare.in.txt","r");
    g=fopen("adunare.out.txt","w");
    fscanf(f,"%i %i",&u,&p);
    s=u+p;
fprintf(g,"%i",s);
fclose(f);
fclose(g);

}


greseala e la fisierele de intrate/iesire. Corect ar fi asa : adunare.in/adunare.out nu adunare.in.txt...


Titlul: Răspuns: 000 A+B
Scris de: SmileSmile din Iulie 16, 2013, 20:08:24
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int a,b,s;
    fstream f("c:\\Adunare.txt", ios::in);
    f>>a;
    f>>b;
    s=a+b;
    fstream g("C:\\Adunare.txt", ios::out);
    g<<s<<" ";
    f.close();
    g.close();
    system("PAUSE");}
de ce primesc 0 puncte pentru acest program?Imi da rezultatul adunarii


Titlul: Răspuns: 000 A+B
Scris de: Boaca Cosmin din Iulie 16, 2013, 20:19:06
Nu trebuie sa dai system("PAUSE") la sfarsit, iar fisierele de intrare ar trebui sa se cheme adunare.in, adunare.out . De asemenea foloseste ifstream , ofstream in loc de fstream .


Titlul: Răspuns: 000 A+B
Scris de: SmileSmile din Iulie 16, 2013, 20:30:37
Multumesc :)


Titlul: Răspuns: 000 A+B
Scris de: SmileSmile din Iulie 16, 2013, 20:53:05
Tot nu merge ...
Imi spune failed fopen.missing files?


Titlul: Răspuns: 000 A+B
Scris de: andrei din Septembrie 10, 2013, 19:44:18
code:
1. program ss;
2. var a,b:integer;
3. f:text;
4. begin
5.   assign(f,'adunare.in'); reset(f);
6.   readln(f,a);
7.   readln(f,b);
8.   close(f);
9.   assign(f,'adunare.out'); reset(f); rewrite(f);
10. writeln(f,a+b);
11. close(f);
12.end.
stie cineva de ce imi da eroarea 'none 0 exit status' la codul pascal de mai sus?(oare trebuie un echivalent lui 'return 0' din c++ in pascal ?!).


Titlul: Răspuns: 000 A+B
Scris de: Alexandru Valeanu din Septembrie 10, 2013, 22:41:27
Habar nu am Pascal dar am descoperit de eroarea apare de la faptul ca ai resetat f cand ai facut al doilea assign. Daca scoti reset(f); dupa cel de-al doilea assign o sa iei 100p. Succes!


Titlul: Răspuns: 000 A+B
Scris de: andrei din Septembrie 10, 2013, 23:53:57
da ai dreptate am modificat si a mers, orikm nu inteleg ce legatura are reset(f) cu eroarea


Titlul: Răspuns: 000 A+B
Scris de: UAIC.VlasCatalin din Septembrie 11, 2013, 14:37:00
Nu poti sa faci reset si rewrite la acelasi fisier fara ca mai intii sa-l inchizi. Daca ai facut reset si nu ai pus close fisierul tau este disponibil pentru citire si respectiv rewrite nu mai functioneaza. De la asta apare eroarea.


Titlul: Răspuns: 000 A+B
Scris de: Mihail Busteaga din Septembrie 29, 2013, 16:05:04
De la ce pot avea eroare de compilare?


Titlul: Răspuns: 000 A+B
Scris de: George Marcus din Septembrie 29, 2013, 18:44:19
In loc de
Cod:
if(b==0)&&(a!=1)
pune
Cod:
if((b==0)&&(a!=1))


Titlul: Răspuns: 000 A+B
Scris de: Baciu Andrei din Noiembrie 02, 2013, 13:52:23
Ce e gresit in acest algoritm.
#include <iostream>
#include <fstream>
using namespace std;
int a,b,S;
int main()
{
    ifstream f ("adunare.in");
    ofstream r ("adunare.out");
    f>>a;
    f>>b;
    S = a+b;
    if (S<2000000000) r<<S<<'\n';
    f.close();
    r.close();
    return 1;
}


Titlul: Răspuns: 000 A+B
Scris de: Mircea Dima din Noiembrie 02, 2013, 14:22:23
Ce e gresit in acest algoritm.
#include <iostream>
#include <fstream>
using namespace std;
int a,b,S;
int main()
{
    ifstream f ("adunare.in");
    ofstream r ("adunare.out");
    f>>a;
    f>>b;
    S = a+b;
    if (S<2000000000) r<<S<<'\n';
    f.close();
    r.close();
    return 1;
}

main trebuie sa returneze 0. Si scoate iful ala din cod


Titlul: Eroare Java
Scris de: Vasile Toncu din Octombrie 26, 2014, 12:58:34
Stie cineva de ce primesc Runtime Error daca trimit aceasta sursa in java??
thx


Titlul: Răspuns: 000 A+B
Scris de: George Marcus din Octombrie 26, 2014, 14:41:53
http://www.infoarena.ro/forum/index.php?topic=10164.0


Titlul: Răspuns: 000 A+B
Scris de: Florian Maria Alexandra din Noiembrie 19, 2014, 23:18:05
imi poate spune cineva ce greseala este in codu:
 
#include<iostream.h>
#include<fstream.h>
using namespace std;
 
int a,b;
int main()
{
    ifstream f("adunare.in");
    ofstream g("adunare.out");
    f>>a;
    f>>b;
    g<<a+b;
     
    f.close();
    g.close();
    return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Cosmin Rusu din Noiembrie 20, 2014, 08:37:28
imi poate spune cineva ce greseala este in codu:
 
#include<iostream.h>
#include<fstream.h>
using namespace std;
 
int a,b;
int main()
{
    ifstream f("adunare.in");
    ofstream g("adunare.out");
    f>>a;
    f>>b;
    g<<a+b;
     
    f.close();
    g.close();
    return 0;
}

Librariile trebuie fara extensia .h, sunt deprecated. Scoate .h si o sa iti mearga :).


Titlul: Răspuns: 000 A+B
Scris de: Florian Maria Alexandra din Noiembrie 27, 2014, 02:23:15
Mersi Cosmin


Titlul: Răspuns: 000 A+B
Scris de: David Lauran din Iulie 19, 2015, 17:06:55
Ce nu am facut bine?
Cod:
program adunare;
        var a,b,S:longint;
        adunin,adunout:text;
begin
        assign(adunin,'adunare.in');
        assign(adunout,'adunare.out');
        reset(adunin);rewrite(adunout);
        readln(a,b);
        S:=a+b;
        if(S<=2000000000)then
        writeln(adunout,S);
        close(adunin);
        close(adunout);
end.


Titlul: Răspuns: 000 A+B
Scris de: Dragan Andrei Gabriel din Iulie 19, 2015, 22:21:39
Nu cred ca ai facut citirea bine
Cod:
        assign(adunin,'adunare.in');
        assign(adunout,'adunare.out');
        reset(adunin);rewrite(adunout);
        readln(a,b);

ar trebui sa citesti din fisier
       
Cod:
readln(adunin, a, b);


Titlul: Răspuns: 000 A+B
Scris de: David Lauran din Iulie 20, 2015, 09:08:21
Mersi, acum am 100 de puncte


Titlul: Răspuns: 000 A+B
Scris de: David Lauran din Iulie 20, 2015, 10:23:52
Chiar daca am luat 100, atunci cand rulez programul ma scoate cu error 2, desi am fisierele adunare.in si adunare.out in acelasi loc cu programul. Care e problema?


Titlul: Răspuns: 000 A+B
Scris de: Torok Zoltan Mihaly din Octombrie 04, 2015, 10:12:40
Am trimis programul:

#include <fstream>

using namespace std;

int main()
{
    int a,b,c;
    fstream f1("adunare.in", ios::in);
    f1>>a >>b;
    c=a+b;
    f1.close();
    fstream f2("adunare.out", ios::out);
    f2<<c;
    f2.close();
    return 0;
}

si la arhiva de probleme imi arata cu un x rosu in fata. Asta inseamna ca inca nu a fost procesat, ca e gresit sau ca trebuie sa adaug si fisierele adunare.in si adunare.out?


Titlul: Răspuns: 000 A+B
Scris de: Vintur Cristian din Octombrie 05, 2015, 17:01:38
Tu ai trimis proiectul adica fisierul cbp.

Tu trebuie sa trimiti sursa, adica fisierul cu extensia cpp.


Titlul: Răspuns: 000 A+B
Scris de: Bigfoot din padure din Noiembrie 26, 2015, 21:56:51
De ce îmi dă eroarea ”main method missing” la evaluare?
http://www.infoarena.ro/job_detail/1537085 (http://www.infoarena.ro/job_detail/1537085)

P.S.: Să răspundă doar cei care știu Java, deoarece sunt începător pe acest limbaj de programare. Această problemă este extrem de simplu de implementat în C++.

L.E.: Nu mai am nevoie de ajutor, am luat 100 de puncte. :yahoo: http://www.infoarena.ro/job_detail/1537154 (http://www.infoarena.ro/job_detail/1537154)


Titlul: ajutor ifstream si ofstream
Scris de: Rata Andrei din Decembrie 28, 2015, 18:48:34
sunt incepator in c++ si as avea nevoie de putin ajutor:
 va rog frumos sa-mi explice cineva cum sa fac chestiile astea cu ifstream si ofstream
multumesc


Titlul: Răspuns: 000 A+B
Scris de: Dragos-Alin Rotaru din Decembrie 29, 2015, 13:34:58
Primele 3 pagini ar trebui să fie îndeajuns pentru lucrul cu fișiere la început [link] (http://www.umich.edu/~eecs381/handouts/filestreams.pdf).


Titlul: Răspuns: 000 A+B
Scris de: Mandescu Domnica din Ianuarie 20, 2016, 13:28:40
multumesc!


Titlul: Răspuns: 000 A+B
Scris de: Rusu Dinu Stefan din Februarie 07, 2017, 13:02:01
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
 
int main() {
    ifstream f("adunare.in");
    ofstream g("adunare.out");
int a,b;
f>>a>>b;
g<<a+b;
return 0;
}


Asta merge sigur!Garantez:) :readthis:


Titlul: Răspuns: 000 A+B
Scris de: Charlie Washington din Iunie 26, 2018, 17:50:37
Cand incarc problema pe site primesc urmatoarea eroare :

Eroare de compilare: Main.java:4: error: class Sum is public, should be declared in a file named Sum.java public class Sum ^ 1 error

Insa problema pe calculator merge fara probleme. Idei ?

import java.io.*;
import java.util.*;

public class Sum
{
    public static void main (String[] args)
    {
       Scanner input = null;
       PrintStream output = null;


       int firstNumber, secondNumber, sum;

       try
       {

          input = new Scanner(new File("adunare.in"));
          output = new PrintStream("adunare.out");

          // read the numbers from the file
          firstNumber = input.nextInt();
          secondNumber = input.nextInt();
          // compute the sum of the 2 numbers
          sum = firstNumber + secondNumber;

          // print the sum in to the output file
          output.print(sum);
          output.flush();

          // close the 2 files
          input.close();
          output.close();

       }
       catch (IOException exception)
       {
          System.err.println(exception);
       }
    }
}


Titlul: Răspuns: 000 A+B
Scris de: Alexandru din Septembrie 03, 2018, 15:32:52
#include <fstream>
using namespace std;
ifstream f("adunare.in");
ofstream g("adunare.out");
int main()
{
    int a,b,s=0;
    f>>a;
    f>>b;
    s=a+b;
    g<<s;
    f.close();
    g.close();
    return 0;
}


Titlul: Răspuns: 000 A+B
Scris de: Hanzu Radu din Decembrie 02, 2018, 02:31:25
#include <iostream>
using namespace std;

int main() {
   int a, b, s;
   cin >> a >> b;
   s = a + b;
   cout << "Suma=" << s << endl;
   system("pause");
   return 0;
}
 :banana:


Titlul: Răspuns: O fac corect, dar nu stiu sa o trimit A+B
Scris de: Pop Iulian din Martie 03, 2019, 10:02:52
Salutare, ma tot chinui de ceva timp sa fac probleme pe siteul acesta, dar de fiecare data imi da 0 puncte, chiar si la problema A+B, am incercat sa trimit fisierul si in CB si intr-un fisier de tip text document, dar nu imi merge.Multumesc anticipat si KATGW


Titlul: Răspuns: 000 A+B
Scris de: Adrian Budau din Martie 03, 2019, 12:53:21
Probleme pe Infoarena lucreaza cu fisiere. Un exempu de sursa care foloseste fisiere este de exemplu 730754 (https://www.infoarena.ro/job_detail/730754?action=view-source).

Daca nu ai mai lucrat cu fisiere iti recomand articolul Input/Output (http://www.cplusplus.com/doc/tutorial/files/)


Titlul: Răspuns: 000 A+B
Scris de: Python din Martie 14, 2019, 19:07:35
Nu inteleg de ce nu merge


Titlul: Răspuns: 000 A+B
Scris de: Alexandra Pal din Martie 22, 2019, 17:46:33
#include<iostream>
#include<fstream>
using namespaece std;
int main()
{ ifstream f("adunare.in");
   ofstream g("adunare.out")
    int a, b, s=0;
    fin>>a>>b;
     s=a+b;
     g<<s;
     f.close();
g.close(); }
}


Titlul: Răspuns: 000 A+B
Scris de: Hajnal George Florin din Aprilie 15, 2019, 19:34:31
Este o problemă grea!!!
:horsy:


Titlul: Răspuns: 000 A+B
Scris de: Hajnal George Florin din Aprilie 15, 2019, 19:35:42
Este o problemă grea!!!
  :monkey: