|
Titlul: BC 3.1 şi standardul c++ Scris de: Herpesius din Martie 20, 2008, 23:07:50 Am de gând să reiau banalitatea din cauza căreia am pierdut exact 34 puncte la OJI ...(să mă gândesc ce s-ar fi întâmplat dacă era un punctaj mai strâns)
Pentru sursa mea compilată cu BC 3.1 , iar iniţializarea vectorului făcută aşa: vector[100]={-100} obtin 56puncte Pentru sursa mea compilată cu BC 3.1 , iar iniţializarea vectorului făcută aşa: Cod: pentru i=0,99 De unde era să ştiu eu că nu se comportă Borlandu normal în asemenea situaţie? Chestia asta(vector[100]={-100};) am învăţat-o din manualul care mi-a fost dat la începutul anului şcolar care este "dedicat" BC3.1-ului... Care este vina mea mea pe aici? Că nu m-am adaptat aşa-zisului standard ? Initializarea de mai sus(vector[100]={-100};) a unui vector nu e o chestie "standard" ? Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Bondane Cosmin din Martie 20, 2008, 23:14:25 Nu cred ca ai de facut ceva, trebuiai sa testezi chestia asta inainte, acasa. Oricum cum s-a mai zis Borlandu ii aproape mort, poate de la anu ai noroc si se schimba.
Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Tandrau Alexandru din Martie 20, 2008, 23:14:57 Chiar acum am testat chestia aia: int a[100] = {-100}; atat in Linux cat si pe BC 3.1
In niciunul dintre ele nu initializeaza vectorul! Ceea ce face e doar sa puna valoarea -100 pe prima pozitie din vector (a[0]). Era foarte simplu ca in timpul concursului sa verifici daca comanda aia chiar merge, si chiar era recomandat sa o faci. Pot spune ca ai avut noroc ca ai luat 56 de puncte. Sper ca te-am lamurit si ca pe viitor nu mai expui de 10 ori aceeasi problema! Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Stefan Istrate din Martie 20, 2008, 23:18:03 Am de gând să reiau banalitatea din cauza căreia am pierdut exact 34 puncte la OJI ...(să mă gândesc ce s-ar fi întâmplat dacă era un punctaj mai strâns) Nu poti sa pastrezi banalitatea aceasta doar pentru tine? Inteleg ca ai fost, esti si vei fi frustrat, dar pentru noi este inutil si irelevant ca tu ai pierdut atatea puncte. In plus de asta, nu-ti inteleg scopul: nu ne vei lumina cu descoperirea ta ca Borlandul e depasit.Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Herpesius din Martie 20, 2008, 23:23:16 Chiar acum am testat chestia aia: int a[100] = {-100}; atat in Linux cat si pe BC 3.1 Pe linux merge OK! la mine. Era foarte simplu ca in timpul concursului sa verifici daca comanda aia chiar merge, si chiar era recomandat sa o faci. Pot spune ca ai avut noroc ca ai luat 56 de puncte. Sper ca te-am lamurit si ca pe viitor nu mai expui de 10 ori aceeasi problema! Da intradevar am avut noroc. In timpul concursului programul rula sa spunem "normal" pe exemplele care le-am generat in mod "aleator" , deci a fost o intamplare "ghinionista". Nu poti sa pastrezi banalitatea aceasta doar pentru tine? Inteleg ca ai fost, esti si vei fi frustrat, dar pentru noi este inutil si irelevant ca tu ai pierdut atatea puncte. In plus de asta, nu-ti inteleg scopul: nu ne vei lumina cu descoperirea ta ca Borlandul e depasit. De ce mai exista infoarena ? P.S.:Cum initializez deci un vector(tot vectorul mai precis) cu o anumita valoare? (exceptand faza cu for-ul) Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Alina Ene din Martie 20, 2008, 23:32:39 Poti sa folosesti memset daca vrei sa initializezi fiecare element cu o constanta.
Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Stefan Istrate din Martie 20, 2008, 23:36:23 Initializarea ta nu merge cum vrei, ci doar a[0] e initializat. Asa stiam ca spune standardul si asa se comporta si pe Linux (tocmai am testat).
De ce mai exista infoarena ? Infoarena nu exista pentru a batea la cap o comunitate intreaga cu subiecte redeschise de zeci de ori. Infoarena exista pentru a-ti acorda un spatiu de interactiune cu alti utilizatori (ceea ce s-a si intamplat cand ai deschis primul post) de care trebuie sa fii responsabil. Tu nu ai fost deloc responsabil, motiv pentru care primul post despre exact acelasi subiect a si fost blocat la un moment dat. Te rugam sa respecti comunitatea!Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Savin Tiberiu din Martie 20, 2008, 23:59:47 Citat Poti sa folosesti memset daca vrei sa initializezi fiecare element cu o constanta. memsetul nu merge ptr orice fel de constanta. De exemplu dak dai memset(v,1,sizeof(v)) v[ x ] va fi egal cu 16843009. deoarece el seteaza fiecare bit pe 1. Memsetul il recomand doar cand vrei sa initializezi cu 0, in rest nu vad care e problema in a folosi un for? sa stii ca orice metoda ai folosi nu vei obtine o complexitate mai buna. Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Stefan Istrate din Martie 21, 2008, 00:05:14 De exemplu dak dai memset(v,1,sizeof(v)) v[ x ] va fi egal cu 16843009. deoarece el seteaza fiecare bit pe 1. Fiecare byte, nu bit. :)Titlul: Răspuns: BC 3.1 şi standardul c++ Scris de: Herpesius din Martie 21, 2008, 00:11:53 Citat Infoarena nu exista pentru a batea la cap o comunitate intreaga ???Va multumesc ca m-ati lamurit, o sa folosesc for-ul de acum incolo.... Totusi este ciudat ca pe codeblocks int a[100]={10} se comporta ca o initializare a intregului vector cu 10... |