•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« : Aprilie 19, 2008, 23:32:47 » |
|
Sorry daca este postat gresit, dar, urmatorul program ar merge pe compilatorul de la oni? // aflarea valorii maxime dintr-un interva, inlocuirea unei valori
#include <iostream.h> #include <fstream.h>
ifstream f("date.in"); ofstream g("date.out");
const int dim=100000; int N, M; int MaxArb[2*dim+1]; int start, finish, Val, Pos, maxim;
int Maxim(int a, int b) { if ( a > b ) return a; return b; }
void Update(int nod, int left, int right) { if ( left == right ) { MaxArb[nod] = Val; return; }
int div = (left+right)/2; if ( Pos <= div ) Update(2*nod,left,div); else Update(2*nod+1,div+1,right);
MaxArb[nod] = Maxim( MaxArb[2*nod], MaxArb[2*nod+1] ); }
void Query(int nod, int left, int right) { if (( start <= left ) && ( right <= finish )) { if ( maxim < MaxArb[nod] ) maxim = MaxArb[nod]; return; }
int div = (left+right)/2; if ( start <= div ) Query(2*nod,left,div); if ( div < finish ) Query(2*nod+1,div+1,right); }
int main() { int X, A, B; f>>N; f>>M; for ( int i = 1; i <= N; i++ ) { f>>X; Pos = i, Val = X; Update(1,1,N); }
for ( i=1; i <= M; i++ ) { f>>X; f>>A; f>>B; if ( X == 0 ) { maxim = -1; start = A, finish = B; Query(1,1,N); g<<maxim; g<<endl; } else { Pos = A, Val = B; Update(1,1,N); } } }
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
![*](/forum/Themes/default/images/star.gif)
Karma: 28
Deconectat
Mesaje: 93
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #1 : Aprilie 20, 2008, 00:40:25 » |
|
In general, poti testa sursele pe site - daca iti compileaza aici, vor compila cu siguranta si la ONI. Spre exemplu, arborii de intervale ii poti testa in arhiva educationala, aiciExemplul tau, de exemplu, compileaza cu warning-uri referitoare la fisierele header, care sunt considerate "deprecated". Foloseste in schimb
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #2 : Aprilie 20, 2008, 11:48:23 » |
|
Hai ca acuma am ajuns sa fiu 100% in ceata.
Pai si in loc de cele cu ".h" ce folosesc?
Da daca schimb asta mai raman valabile urmatoarele functii:
ifstream f("lala.in"); - deschiderea unui fisier din care o sa citesc - citire f>>x; ofstream g("lala.out"); - deschiderea unui fisier in care o sa scriu - scriere g<<x;
Am mai citit acuma: "Functia main trebuie sa fie de tip int si sa intoarca 0 - return 0;"
Adica o sa fie ceva de genul:
int main() { ... ... ... return 0; }
Structurile le mai pot crea astfel:
struct nod { int nr; nod *leg; } *prim, *ultim, *p, *q, *r;
|
|
|
Memorat
|
|
|
|
•wefgef
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #3 : Aprilie 20, 2008, 11:52:07 » |
|
Uita-te la mesaje de eroare ca am postat acolo cum sta treaba cu librariile ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) .
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #4 : Aprilie 20, 2008, 11:53:44 » |
|
Poti sa pui un link direct ca nu il gasesc ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif)
|
|
|
Memorat
|
|
|
|
•Cosmin
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #5 : Aprilie 20, 2008, 12:01:09 » |
|
Ai cautare pe forum, ai cautare pe site. Ai si google.com ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) foloseste unul dintre ele si o sa gasesti.
|
|
|
Memorat
|
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #6 : Aprilie 20, 2008, 12:13:48 » |
|
..... mamaaaa, mi s-au inmuiat picioarele pentru cateva momente
Am luat o problema si am trimis-o de cateva ori si pana la urma am observat k singura modificare kre trebuia facuta era sa pun int main() inloce de void main().... si nu trebuia sa schimb <iostream.h> in <iostream>
Am o ultima intrebare.
Pe compilatorul linux merge iostream.h?
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #7 : Aprilie 20, 2008, 12:16:10 » |
|
http://infoarena.ro/forum/index.php?topic=364.msg24956#msg24956 - poate daca ii asculti pe Cosmin si pe Wef o sa te lamuresti Daca ai trimis problema la infoarena si ai vazut ca merge cu iostream.h, si stiind ca infoarena are un compilator de linux, eu cred ca rezulta ca merge ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif)
|
|
« Ultima modificare: Aprilie 20, 2008, 12:22:26 de către Sima Cotizo »
|
Memorat
|
|
|
|
•wefgef
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #8 : Aprilie 20, 2008, 19:50:26 » |
|
Compilatorul nostru de linux suporta si iostream.h, DAR aceasta NU este standard. Nu ti-o recomand sa o folosesti. De exemplu visual studio 2005 da eroare de compilare pentru urmatorul program: #include <iostream.h>
int main() { return 0; }
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #9 : Aprilie 21, 2008, 12:19:34 » |
|
Deci cei care ati mai fost la ONI, lamuriti-ma si pe mine, se poate sau nu folosi <iostream.h> ![Huh](http://www.infoarena.ro/forum/Smileys/default/huh.gif)
|
|
|
Memorat
|
|
|
|
•wefgef
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #10 : Aprilie 21, 2008, 12:24:23 » |
|
In principiu se poate... Dar e mai bine sa pui #include <iostream> using namespace std;
si sa codezi in rhide (presupun ca lucrezi pe windows).
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #11 : Aprilie 21, 2008, 12:28:36 » |
|
se poate... Atata trebuia sa aud. ![Very Happy](http://www.infoarena.ro/forum/Smileys/default/biggrin.gif)
|
|
|
Memorat
|
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #12 : Aprilie 21, 2008, 14:02:15 » |
|
da.... <ctype.h> merge?
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
![*](/forum/Themes/default/images/star.gif)
Karma: 28
Deconectat
Mesaje: 93
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #13 : Aprilie 21, 2008, 14:47:02 » |
|
Asa cum ti-a recomandat si wefgef, pentru a fi sigur ca librariile vor functiona asa cum te astepti, foloseste standardul actual: toate numele vor fi fara .h terminal (ex: iostream.h -> iostream, fstream.h -> fstream), iar librariile specifice C vor avea un c in fata (ex: stdio.h -> cstdio, stdlib.h -> cstdlib, ctype.h -> cctype). Incearca sa scrii sursele dupa aceste modele din standardul ISO, asta te asigura ca vor functiona oriunde si oricand (BorlandC a iesit de mult timp din clasa "oriunde" sau "oricand") ![Whistle](http://www.infoarena.ro/forum/Smileys/default/whistling.gif)
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #14 : Aprilie 21, 2008, 15:00:05 » |
|
Pai da, da asta insemna ca toate functiile pe care le stiam pana acuma trebuie sa le invat sub forma unui alt limbaj ![d'oh!](http://www.infoarena.ro/forum/Smileys/default/ewpu.gif) .. si sincer, nu prea mai am timp ![Sad](http://www.infoarena.ro/forum/Smileys/default/sad.gif) (
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #15 : Aprilie 21, 2008, 15:04:04 » |
|
Asa se intampla cand inveti sursele/functiile ca pe o poezie... dar daca tot "nu mai ai timp", incearca sa inveti si corespondentele astea si pe timp de concurs scrii sursa cum iti aduci aminte si apoi obligatoriu faci transformarile ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) ... sau observi logica din spatele transformarilor si incerci sa acorzi atentie si aspectului astuia cand scrii o sursa.
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
![*](/forum/Themes/default/images/star.gif)
Karma: 28
Deconectat
Mesaje: 93
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #16 : Aprilie 21, 2008, 15:45:18 » |
|
Mie nu mi se pare deloc alt limbaj. In esenta, modificarile apar asupra primelor directive #include. Adica trebuie sa modifici doar numele librariilor (dupa regulile pe care le-am precizat in postul trecut), si sa lucrezi in namespace-ul std; astfel nu vei avea niciun fel de problema, limbajul in sine si toate functiile sunt aceleasi, si le poti folosi asa cum le-ai folosit pana acum in Borland. ![Wink](http://www.infoarena.ro/forum/Smileys/default/wink.gif) #include <iostream> #include <fstream>
using namespace std;
Testeaza cateva probleme (adunare, cmmdc etc) pe evaluatorul de aici folosind aceste librarii, si vei intelege exact la ce ma refer.
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•GooDy
Strain
Karma: -28
Deconectat
Mesaje: 41
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #17 : Aprilie 21, 2008, 15:50:43 » |
|
![Embarassed](http://www.infoarena.ro/forum/Smileys/default/newblush.gif) eu ma speriasem de o prostie.... M-am uitat peste niste surse si aveau total diferit fata de mine modul de creare a structurilor sau de citire din fisiere. Si apoi am vazut urmatoarele sursele si am inteles si faza cu : "toate numele vor fi fara .h terminal (ex: iostream.h -> iostream, fstream.h -> fstream), iar librariile specifice C vor avea un c in fata (ex: stdio.h -> cstdio, stdlib.h -> cstdlib, ctype.h -> cctype)." http://infoarena.ro/job_detail/159338?action=view-sourcehttp://infoarena.ro/job_detail/182024?action=view-source ![Brick wall](http://www.infoarena.ro/forum/Smileys/default/wallbash.gif) asta e daca unii oameni sunt prosti ![sad](http://www.infoarena.ro/forum/Smileys/default/sad.gif)
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit
![*](/forum/Themes/default/images/star.gif)
Karma: 28
Deconectat
Mesaje: 93
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #18 : Aprilie 21, 2008, 16:04:14 » |
|
In sursa din al doilea link, era recomandabil, spre exemplu, ca in loc de sa fie folosit Cred ca acum intelegi la ce ma refer... ![Very Happy](http://www.infoarena.ro/forum/Smileys/default/biggrin.gif)
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
|