PDA

View Full Version : valori booleani in c HELP


*MATRIX*
14-10-2005, 15:48
Ciao raga ho fatto un programmino usando la ricorsione e valori booleani
ho letto che in c i booleani (true e false ) non ci sono quindi si fa una funzione int ("0" è falso "1" è true )

il problema e che mi restituisce sempre true :(

mi date una mano ?

// dato un numero intero num verificare se esiste nella matrice 3x3
#include <stdio.h>
#include <stdlib.h>
int i,j,num;
int mat[3][3];
void crea(int[3][3]);
int cerca(int[3][3],int,int,int);

main()
{
crea(mat);

printf("inserisci il numero da cercare =");
scanf("%d",&num);
i=0;
j=0;
if (cerca(mat,i,j,num)==0)
printf("false");
else
printf("true");
printf("\n");
system("pause");
}

void crea(int mat[3][3])
{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("inserisci elemnto %d %d =",i+1,j+1);
scanf("%d",&mat[i][j]);
}
}
}

int cerca(int mat[3][3],int i,int j,int num)
{
if (i==3)
return(0);
else
if (j==3)
cerca(mat,i+1,0,num);
else
if (mat[i][j]==num)
return(1);
else
cerca(mat,i,j+1,num);
}

Fenomeno85
14-10-2005, 16:01
indenta poi lo guardo.

~§~ Sempre E Solo Lei ~§~

*MATRIX*
14-10-2005, 16:09
indenta poi lo guardo.

~§~ Sempre E Solo Lei ~§~

in realtà è indentato ma quando lo posto sul forum me lo mette tutto a sinistra come devo fare?

*MATRIX*
14-10-2005, 16:14
ho indentato :)

*MATRIX*
14-10-2005, 17:01
hai qualche soluzione al problema ? :(

Fenomeno85
14-10-2005, 17:11
#include "stdafx.h"

void crea(int[3][3]);
int cerca(int[3][3],int i,int j,int num);

int main(void)
{
int mat[3][3];
int num;
crea(mat);

printf("inserisci il numero da cercare =");
scanf("%d",&num);

if (cerca(mat,0,0,num)==0)
printf("false");
else
printf("true");
printf("\n");
system("pause");
return (1);
}

void crea(int mat[3][3]){
int i, j;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("inserisci elemnto %d %d =",i+1,j+1);
scanf("%d",&mat[i][j]);
}
}
}

int cerca(int mat[3][3],int i,int j,int num)
{
if (i==3)
return(0);
else
if (j==3)
cerca(mat,i+1,0,num);
else
if (mat[i][j]==num)
return(1);
else
cerca(mat,i,j+1,num);
}


non è che hai molto chiaro il passaggio dei valori nelle funzioni ;) .. cmq il codice è giusto ... con queste diff funziona.

~§~ Sempre E Solo Lei ~§~

*MATRIX*
14-10-2005, 17:26
non è che hai molto chiaro il passaggio dei valori nelle funzioni
~§~ Sempre E Solo Lei ~§~

grazie tantissimo :D ;)

quindi matrici e variabili posso metterli nel main senza dichiarali come globali

inoltre hai scritto int main(void)

perchè hai messo int ? non è la funzione "cerca" che restituisce? main la chiama solo

e poi void va bene anche se metto solo le parentesi vuote?

ciao

*MATRIX*
14-10-2005, 17:32
ho notato che non funziona :(

Fenomeno85
14-10-2005, 18:18
ho notato che non funziona :(

:mbe: non è che non hai incluso le librerie? ... la libreria che c'è nel mio è un richiamo a un file che contiene tutte le librerie che mi interessano.

~§~ Sempre E Solo Lei ~§~

*MATRIX*
14-10-2005, 19:43
:mbe: non è che non hai incluso le librerie? ... la libreria che c'è nel mio è un richiamo a un file che contiene tutte le librerie che mi interessano.

~§~ Sempre E Solo Lei ~§~


mi da errore sul printf

io uso il devc

Fenomeno85
14-10-2005, 20:09
mi da errore sul printf

io uso il devc

ok che è una ciofeca dev ma a me funziona correttamente :O

~§~ Sempre E Solo Lei ~§~

*MATRIX*
14-10-2005, 22:43
ok che è una ciofeca dev ma a me funziona correttamente :O

~§~ Sempre E Solo Lei ~§~


non puoi rifarlo utilizando include stdio.h e include stdlib.h per favore :) ?

Fenomeno85
15-10-2005, 11:58
non puoi rifarlo utilizando include stdio.h e include stdlib.h per favore :) ?

metti al posto di #include "stdafx.h" #include <stdio.h> e #include<windows.h>

:D


~§~ Sempre E Solo Lei ~§~

*MATRIX*
15-10-2005, 13:16
metti al posto di #include "stdafx.h" #include <stdio.h> e #include<windows.h>


fatto

metto 9 numeri da 1 a 9 poi gli chiedo di trovarmi il numero 55 e mi da true :(

non funziona da sempre true

Fenomeno85
15-10-2005, 16:28
fatto

metto 9 numeri da 1 a 9 poi gli chiedo di trovarmi il numero 55 e mi da true :(

non funziona da sempre true

senti funziona ... hai usato il mio codice?


~§~ Sempre E Solo Lei ~§~