ciao a tutti...ho appena scaricato questo programma...però se provo un algoritmo e faccio il debug mi compare questo messagio:
come risolvo?
http://img164.imageshack.us/img164/5720/immagine8yx.jpg
Build -> Compiler Options -> Produce debuging symbols
Build -> Compiler Options -> Produce debuging symbols
fatto già..
ti posso chiedere un piccolo piacere...ho provato a compilare questo algoritmo ma l'esecuzione si blocca "credo" nella chiamata alla funzione.
non è che potresti aiutarmi a trovare l'errore?
#include <stdio.h>
#include <stdlib.h>
typedef enum {falso, vero} boolean;
void appartiene(int *a[3], int riga, int colonna, int elemento, int n, boolean *trovato);
int main()
{
int **a, n, riga, colonna, elemento, i, j;
boolean trovato, *p;
printf("Inserisci la dimensione di A\n");
scanf("%d", &n);
a=(int**)malloc(n*sizeof(int*));
for(i=0;i<n;i++)
a[i]=(int*)malloc(n*sizeof(int));
printf("inserire gli elementi nell'array\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("a[%d][%d] = ", i, j);
scanf("%d", &a[i][j]);
}
printf("l'elemento da cerca e': \n");
scanf("%d", &elemento);
trovato = falso;
p=&trovato;
riga = 1;
colonna = n;
appartiene(*a[3], riga, colonna, elemento, n, p);
if (trovato == vero)
printf("L'elemento è stato trovato nella posizione a[%d][%d]\n", riga, colonna);
else
printf("L'elemento nn è presente\n");
return 0;
}
void appartiene(int *a[3], int riga, int colonna, int elemento, int n, boolean *trovato)
{
if(a[riga][colonna] == elemento)
trovato = vero;
else if (a[riga][colonna] < elemento)
{
if (riga <n)
appartiene(a, riga+1, colonna, elemento, n, trovato);
else
trovato = falso;
}
else if (colonna >1)
appartiene(a, riga, colonna-1, elemento, n, trovato);
else
trovato = falso;
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.