•k_ounu_eddy
|
|
« : Februarie 20, 2007, 00:58:27 » |
|
In problema NumerePrime,trebuie sa folosesc un vector de 1299721 de bool-uri(variabila care poate retine valoarea 1 sau 0),pentru a gasi primele k numere prime(k il da problema).Oricum,ce vreau sa intreb eu ,este daca acest compilator de pe infoarena ma lasa sa declar vectorul ala(in borland imi da eroare array size too large!)
|
|
« Ultima modificare: Februarie 20, 2007, 09:25:50 de către Iacob Eduard »
|
Memorat
|
|
|
|
•DITzoneC
|
|
« Răspunde #1 : Februarie 20, 2007, 01:30:26 » |
|
Da, in gcc/g++/freepascal nu ai probleme cu vectori prea mari atata timp cat te incadrezi in limita de memorie specificata la fiecare problema in parte. Vectorul tau ocupa sub 1Mega deci te incadrezi.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #2 : Februarie 20, 2007, 09:26:34 » |
|
Multumesc.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #3 : Februarie 20, 2007, 10:44:17 » |
|
Tot nu imi iese.Daca declar cumva 10000000 de bool-uri ,imi da eroarea SIGSEGV(sau asa ceva).Cine se uita putin pe sursa mea,de la NumerePrime,va rog?(am scris si comentarii,ca sa intelegeti ce am scris).?
|
|
|
Memorat
|
|
|
|
•bogdan2412
|
|
« Răspunde #4 : Februarie 20, 2007, 10:55:15 » |
|
Iti iei un compilator GCC portat pentru Windows (djgpp, dev cpp, cygwin) si incerci acasa pe teste mari sa vezi ce se intampla... Sunt multe probleme in arhiva si nu cred ca o sa stea cineva sa se uite prin sursele tale Iti este mult mai util sa-ti debughezi singur programele. E un articol pe infoarena despre instalarea DJGPP...
|
|
|
Memorat
|
|
|
|
•Omega91
Strain
Karma: 0
Deconectat
Mesaje: 36
|
|
« Răspunde #5 : Februarie 20, 2007, 12:59:37 » |
|
declari vectorul mult prea mare, incearca cu vreo 1.500.000 elemente. Mie asa mi-a mers. Asta imi aduce aminte de o chestie: ESTE POSIBIL SA DECLARI UN VECTOR ORICAT DE MARE ATATA TIMP CAT NU DEPASESTI LIMITA DE MEMORIE?
|
|
« Ultima modificare: Februarie 20, 2007, 13:02:35 de către Nicodei Eduard »
|
Memorat
|
|
|
|
•cos_min
|
|
« Răspunde #6 : Februarie 20, 2007, 13:27:37 » |
|
depinde daca mai ai si alti vectori declarati.
|
|
|
Memorat
|
vid...
|
|
|
•bogdan2412
|
|
« Răspunde #7 : Februarie 20, 2007, 13:43:28 » |
|
Da ... poti sa ai un vector care ocupa 60 mega... Un vector<bool> de 1000000 elemente ocupa 1000000/8 bytes memorie oricum. Un vector non-STL bool x[1000000] nu-i acelasi lucru in schimb si ocupa 1000000 bytes
|
|
« Ultima modificare: Februarie 20, 2007, 13:53:09 de către Bogdan Tataroiu »
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #8 : Februarie 20, 2007, 13:50:21 » |
|
Pai de asta am si declarat bool.Oricum,am modificat sursa la 1.500.000 de bool-uri si imi da doar 20 de puncte.M-am uitat atent si nu inteleg care sa fie greseala.Asta mi-e frica mie cel mai tare la olimpiada sa nu cumva sa gresesc la vreo faza din asta,cu toate ca problema e gandita bine.
|
|
|
Memorat
|
|
|
|
•devilkind
|
|
« Răspunde #9 : Februarie 20, 2007, 14:11:52 » |
|
vezi ca nici la locala nici la judeteana nu dispui de astfel de compilatoare. Acolo ti se pune la dispozitie borlandu. De abia la oni ai memorie mai multa (16 mb park era anu trecut), asta bineinteles dak nu se specifica altceva in problema.
Cel mai bine e sa iti calculezi memoria folosita (nr de elemente ale vectorlui * sizeof(tipul fiecarui element) / 1024 / 1024 iti va da numarul de mb folositi de acel vector) si verifici daca ti se incadreaza in limitele problemei.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #10 : Februarie 20, 2007, 22:28:32 » |
|
Asa am sa fac.Aaa.Si inca o intrebare.Ai zis ca iti da borlandu.Dar de compilat ,tot cu borlandul iti compileaza?
|
|
|
Memorat
|
|
|
|
•svalentin
|
|
« Răspunde #11 : Februarie 20, 2007, 23:18:15 » |
|
da, borlandC este editor+compilator (vezi sa nu-l confuzi cu Borland C++ Builder!)
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #12 : Februarie 21, 2007, 20:37:11 » |
|
Mi-am instalat si eu Gnu C++(dupa articolul de pe site),insa am o problema.De ex am facut un program simplu(afiseaza 2),si l-am salvat cu numele program.Si cand sa il compilez,imi zice don't know how to compile from program.o(sau ceva asemanator) [LaterEdit]:Am rezolvat aceasta problema,insa nu pot folosi headerul iostream.h(nu merge cout si cin).Ce pot sa fac?
|
|
« Ultima modificare: Februarie 21, 2007, 20:45:08 de către Iacob Eduard »
|
Memorat
|
|
|
|
•Omega91
Strain
Karma: 0
Deconectat
Mesaje: 36
|
|
« Răspunde #13 : Februarie 22, 2007, 10:57:28 » |
|
La gnu c++ trebuie sa folosesti: #include <iostream> using namespace std;
asa ceva se intampla si cu <fstream> si mai sunt cateva biblioteci in aceeasi situatie dar alea nu-s prea folosite. Regula generala este sa pui using namespace std; imediat dupa de ai pus bibliotecile si observa ca nu trebuie scris ".h" dupa numele lor. Eu zic sa folosesti dev c++ are compilatorul gnu c++ si dintre toate c++urile acesta mi se pare cel mai user-friendly Spor la compilare!
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
|
« Răspunde #14 : Februarie 22, 2007, 12:58:35 » |
|
Regula generala este sa pui using namespace std; imediat dupa de ai pus bibliotecile si observa ca nu trebuie scris ".h" dupa numele lor. Nu neaparat. Daca folosesti stl da, altfel nu... Daca bagi doar #include <cstdio> ... int main() { freopen("ceva.txt","r",stdin); return 0; }
Va functiona foarte bine (la mine merge, in plus using namespace std; in combinatie cu cmath mi se pare ca face urat daca nu faci casting la tipul argumentului la sqrt() )...
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #15 : Februarie 23, 2007, 09:19:10 » |
|
Mersi.Se poate seta cumva si limita de memorie,in care sa aloce compilatorul(sa fac ca la problemele de pe site,sa am 1 mega,2 mega etc.).Ca de ex am vrut sa aloc un milion de bool-uri si tot nu imi merge.Intr-adevar,merge sa aloc mai mult ca in borland,dar problema tot nu am reusit sa o rezolv
|
|
|
Memorat
|
|
|
|
•TYTUS
Strain
Karma: 5
Deconectat
Mesaje: 24
|
|
« Răspunde #16 : Februarie 24, 2007, 23:40:44 » |
|
Vezi ca bool-u ocupa un octet. Nu te ajuta sa rezolvi problema, dar e bine de stiut.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #17 : Februarie 26, 2007, 20:03:48 » |
|
Ba nu.Bool-ul are ocupa doar un bit(poate lua valoarea 0 sau 1).Ar fi inutil sa ocupe mai mult
|
|
|
Memorat
|
|
|
|
•wickedman
|
|
« Răspunde #18 : Februarie 26, 2007, 20:13:16 » |
|
Ba nu.Bool-ul are ocupa doar un bit(poate lua valoarea 0 sau 1).Ar fi inutil sa ocupe mai mult
right. iar sizeof(BOOL) == 0.125
|
|
|
Memorat
|
|
|
|
•bogdan2412
|
|
« Răspunde #19 : Februarie 26, 2007, 20:16:24 » |
|
vector<bool> din stl e o specializare a clasei vector... si doar in cazu asta un bool e echivalent cu un bit.. altfel e un byte... am mai zis asta odata mai sus
|
|
« Ultima modificare: Februarie 26, 2007, 20:20:43 de către Bogdan Tataroiu »
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #20 : Martie 07, 2007, 23:21:12 » |
|
Inca o intrebare despre Rhide.Nush de ce tot imi da o eroare la unele probleme,care suna cam asa: "reference to nume_variabila is ambiguos".Nu folosesc nici o referinta,si nici nu am alte variabile care au acelasi nume,asa ca nush de ce imi apare asta... [LE]:Am descoperit de ce imi aparea eroarea asta.Se pare ca fisierul stdio.h mai avea o variabila cu aceeasi denumire(max).
|
|
« Ultima modificare: Martie 08, 2007, 00:46:53 de către Iacob Eduard »
|
Memorat
|
|
|
|
•svalentin
|
|
« Răspunde #21 : Martie 08, 2007, 09:21:30 » |
|
Inca o intrebare despre Rhide.Nush de ce tot imi da o eroare la unele probleme,care suna cam asa: "reference to nume_variabila is ambiguos".Nu folosesc nici o referinta,si nici nu am alte variabile care au acelasi nume,asa ca nush de ce imi apare asta... [LE]:Am descoperit de ce imi aparea eroarea asta.Se pare ca fisierul stdio.h mai avea o variabila cu aceeasi denumire(max).
S-a mai discutat pe forum despre RHIDE in alte topicuri dedicate, cauta si tu putin pe forum intainte sa postezi! RHIDE este un editor, nu este un compilator.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
|
« Răspunde #22 : Martie 08, 2007, 10:16:49 » |
|
Da,scuze,greseala mea.Dar uite,am scris acolo un lateredit,in care miam zis ca miam dat seama ce am gresit.
|
|
|
Memorat
|
|
|
|
•svalentin
|
|
« Răspunde #23 : Martie 08, 2007, 18:28:42 » |
|
ideea e ca oricum nu ai postat unde trebuie
|
|
|
Memorat
|
|
|
|
|