|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Oct 2008
Messaggi: 11
|
[c++] funzione if
Ciao a tutti mi sto studiando il sorgente di un tris k sfutta l'algoritmo minimax.... sono ancora al inizio ma non riesco a capire l'IF di riga 118 (vi posto il codice)
Codice:
if(psble(i,j))
{
tris[i][j]='O';
t=valutamossa('X', 20);
printf("%d\n",t);
if(t>max)
{
max=t;
mi=i;
mj=j;
}
tris[i][j]=' ';
}
tris[mi][mj]='O';
Codice:
int psble(int i, int j)
{
return tris[i][j]==' ';
}
ho gia trovato un caso simile all insterno di questo sorgente ma la situazione era diversa (posto un esempio) : Codice:
if (funz(i))
{
......
......
}
.......
studiando il programma in debug ho dedotto che se la funzione restituiva 0 la condizione era falsa e quindi il programma continuava saltando le istruzioni del if.... viceversa se la funz restituiva 1 il programma eseguiva le istruzioni del blocco if.... è la stessa cosa con Codice:
if(psble(i,j)) spero di essere stato chiaro nel esprimere i miei dubbi grazie mille a tutti in anticipo... |
|
|
|
|
|
#2 | |
|
Member
Iscritto dal: Mar 2010
Messaggi: 45
|
L'if è un costrutto booleano, quando non trovi un'espressione, sottintendi != 0.
In questo caso: Codice:
if ( psble (i, j) != 0 ) Quote:
false = 0 true = 1 È bene sperimentare, ma documentati bene prima sul comportamento del linguaggio, che è fondamentale capire. |
|
|
|
|
|
|
#3 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21952
|
Quote:
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
quindi puoi inserire
Codice:
while (2); |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Oct 2008
Messaggi: 11
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:39.




















