Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: BC 3.1 şi standardul c++  (Citit de 2409 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
rEbyTer
Vorbaret
****

Karma: -85
Deconectat Deconectat

Mesaje: 154



Vezi Profilul
« : 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
vector[i]=-100;
am obţinut 90 puncte

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" ?
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #1 : 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.
Memorat

vid...
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #2 : 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!
Memorat

Tine minte ca mintea conduce pumnu, nu invers
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #3 : 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.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
rEbyTer
Vorbaret
****

Karma: -85
Deconectat Deconectat

Mesaje: 154



Vezi Profilul
« Răspunde #4 : 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)
Memorat
byndrsn
Client obisnuit
**

Karma: 19
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #5 : Martie 20, 2008, 23:32:39 »

Poti sa folosesti memset daca vrei sa initializezi fiecare element cu o constanta.
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #6 : 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!
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #7 : 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.
« Ultima modificare: Martie 21, 2008, 11:01:43 de către Savin Tiberiu » Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #8 : 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. Smile
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
rEbyTer
Vorbaret
****

Karma: -85
Deconectat Deconectat

Mesaje: 154



Vezi Profilul
« Răspunde #9 : Martie 21, 2008, 00:11:53 »

Citat
Infoarena nu exista pentru a batea la cap o comunitate intreaga
Huh

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...
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines