infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Iacob Eduard din Februarie 20, 2007, 00:58:27



Titlul: Intrebare despre compilator
Scris de: Iacob Eduard din 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!)


Titlul: Raspuns: Intrebare despre compilator
Scris de: Adrian Diaconu din 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.


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din Februarie 20, 2007, 09:26:34
Multumesc. :thumbup:


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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).?


Titlul: Raspuns: Intrebare despre compilator
Scris de: Bogdan-Cristian Tataroiu din 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...


Titlul: Raspuns: Intrebare despre compilator
Scris de: Nicodei Eduard din 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????


Titlul: Raspuns: Intrebare despre compilator
Scris de: Bondane Cosmin din Februarie 20, 2007, 13:27:37
depinde daca mai ai si alti vectori declarati.


Titlul: Raspuns: Intrebare despre compilator
Scris de: Bogdan-Cristian Tataroiu din 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 :)


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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. :fool:


Titlul: Raspuns: Intrebare despre compilator
Scris de: Savin Tiberiu din 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.


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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?


Titlul: Raspuns: Intrebare despre compilator
Scris de: Valentin Stanciu din Februarie 20, 2007, 23:18:15
da, borlandC este editor+compilator
(vezi sa nu-l confuzi cu Borland C++ Builder!)


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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?


Titlul: Raspuns: Intrebare despre compilator
Scris de: Nicodei Eduard din Februarie 22, 2007, 10:57:28
La gnu c++ trebuie sa folosesti:
Cod:
#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 :thumbup:

Spor la compilare! :D


Titlul: Raspuns: Intrebare despre compilator
Scris de: Sima Cotizo din Februarie 22, 2007, 12:58:35
Citat
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
Cod:
#include <cstdio>
...
int main() {
freopen("ceva.txt","r",stdin);
return 0;
}
Va functiona foarte bine :D (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() )...


Titlul: Raspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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 :sad:


Titlul: Raspuns: Intrebare despre compilator
Scris de: Vlad Saveluc din Februarie 24, 2007, 23:40:44
Vezi ca bool-u ocupa un octet. Nu te ajuta sa rezolvi problema, dar e bine de stiut.


Titlul: Răspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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


Titlul: Răspuns: Intrebare despre compilator
Scris de: Cristian Strat din 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.  :roll: iar sizeof(BOOL) == 0.125


Titlul: Răspuns: Intrebare despre compilator
Scris de: Bogdan-Cristian Tataroiu din 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 :roll:


Titlul: Răspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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).


Titlul: Răspuns: Intrebare despre compilator
Scris de: Valentin Stanciu din 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.


Titlul: Răspuns: Intrebare despre compilator
Scris de: Iacob Eduard din 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.


Titlul: Răspuns: Intrebare despre compilator
Scris de: Valentin Stanciu din Martie 08, 2007, 18:28:42
ideea e ca oricum nu ai postat unde trebuie