Forum » Programiranje » [C++]Tezava s strukturo
[C++]Tezava s strukturo
Keki ::
Imam čudno težavo. Delam nalogo s strukturo in sem si za test napisal funkcijo ki postavi vse elementa navidezne sahovnice na karakter X oz O. In potem namesto da bi pri izpisu izrisalo sahovnico z X oz O, mi izriše kr nekaj... Isto kot da nebi klical funkcije reset.
Še koda:
Še koda:
struct pozicija { char sahovnica[8][8]; enum na_potezi { beli, crni }; bool rokada; bool passant; short st_polpotez; short st_poteze; }; void reset(pozicija p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { if((i+j)%2 == 0) p.sahovnica[i][j]=='X'; else p.sahovnica[i][j]=='O'; } } } void izrisi(pozicija p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { cout<<p.sahovnica[i][j]; } cout<<endl; } } int main() { pozicija g; reset(g); izrisi(g); cin.ignore(); cin.get(); return 0; }
http://www.alfakan.si/
http://mihajerot.si/
http://mihajerot.si/
- spremenilo: Keki ()
moowy123 ::
Ker ne znam postati kode, ti bom samo povedal recept in sicer v funkcijah nadomesti argument (pozicija p) s (pozicija *p), potem pa še ustrezno popravi v funkcijah . z ->, pri klicih funkcij pa uporabi operator &, in bo stvar delovala. (stestirano)
ps. problem zakaj ni delalo, je ker ni bilo inicializirano
ps. problem zakaj ni delalo, je ker ni bilo inicializirano
Keki ::
Če si mislo tak, naredi isto:
Sem malo poštudiral pa bom pomoje malo drugače to rešo...bom vido
struct pozicija { char sahovnica[8][8]; enum na_potezi { beli, crni }; bool rokada; bool passant; short st_polpotez; short st_poteze; }; void reset(pozicija* p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { if((i+j)%2 == 0) p->sahovnica[i][j]=='X'; else p->sahovnica[i][j]=='O'; } } } void izrisi(pozicija* p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { cout<<p->sahovnica[i][j]; } cout<<endl; } } int main() { pozicija g; reset(&g); izrisi(&g); cin.ignore(); cin.get(); return 0; }
Sem malo poštudiral pa bom pomoje malo drugače to rešo...bom vido
http://www.alfakan.si/
http://mihajerot.si/
http://mihajerot.si/
Zgodovina sprememb…
- spremenilo: Keki ()
moowy123 ::
Če mi poveš kako postat kodo, al pa če mi daš mail, ti pošljem to isto kodo z mojimi popravki (katere sem opisal) in stvar deluje.
Keki ::
v oglatih oklepajih st.koda C++ zakljucis pa z /st.koda C++ isto v oglatih oklepajih
http://www.alfakan.si/
http://mihajerot.si/
http://mihajerot.si/
CCfly ::
Druga možnost, funkciji deklariraj v strukturi.
"My goodness, we forgot generics!" -- Danny Kalev
moowy123 ::
Evo, niti nisem mel časa pregledati tvoje popravljene kode, tko da ti kar mojo prilagam (upam da ne boste isti ). Uporabljal sem compiler od visual studio 2008. Je pa sigurno več načinov za implementacijo tvojega problema:
#include <iostream> using namespace std; struct pozicija { char sahovnica[8][8]; enum na_potezi { beli, crni }; bool rokada; bool passant; short st_polpotez; short st_poteze; }; void reset(pozicija *p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { if((i+j)%2 == 0) p->sahovnica[i][j]='X'; else p->sahovnica[i][j]='O'; } } } void izrisi(pozicija *p) { for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { cout<<p->sahovnica[i][j]; } cout<<endl; } } Če hočeš ti lahko še priložim screenshot, tako da boš videl da res deluje [:)] int main() { pozicija g; reset(&g); izrisi(&g); cin.ignore(); cin.get(); return 0; }
moowy123 ::
No, sem si vzel čas in še tvojo kodo pregledal in ugotovil kaj si pocel narobe pri tvoji popravljeni kodi:
if((i+j)%2 == 0) p->sahovnica[i][j]=='X'; -> TO NI QL: tukaj delas primerjavo !! else p->sahovnica[i][j]=='O'; -> TO NI QL : tukaj delas primerjavo !!
Keki ::
hehe ja, sem tut sam opazo...nimam pojma zakaj sem dal == o_O
tnx dela zdaj
tnx dela zdaj
http://www.alfakan.si/
http://mihajerot.si/
http://mihajerot.si/
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Šahovski problem - mat v dveh potezah (strani: 1 2 3 4 )Oddelek: Znanost in tehnologija | 20248 (8691) | msjr |
» | Igra šahOddelek: Programiranje | 3765 (2936) | mallard |
» | C++ šahovske pozicijeOddelek: Programiranje | 1930 (1930) | Thomas |
» | Programiranje "Šah-a" v JaviOddelek: Programiranje | 4235 (3751) | OwcA |
» | Kasparov vs Junior (strani: 1 2 3 4 )Oddelek: Znanost in tehnologija | 15047 (11908) | Thomas |