Salve a tutti,
inizio subito a dire che sono un novello del forum quindi se sbaglio qualcosa fatemelo sapere, e mi scuso già nel caso li stessi per fare ahahah
Detto questo ho un problema: ho creato un programma che ha il compito di cercare un numero (con metodo "divide et impera") in un array pre-caricato e pre-ordinato.
Il codice da me creato è il seguente:
#include <stdio.h>
int main() {
int n;
int a[n];
printf ("inserisci posti array ");
scanf ("%d",&n);
int i;
for (i=1; i<n+1; i++) {
printf ("inserisci numero al posto %d = ",i);
scanf ("%d",&a[i]);
}
int t=0;
for (i=1; i<n+1; i++) {
int temp;
int j;
t=t+1;
for (j=t; j<n+1; j++) {
if (temp>a[j]) {
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
temp=1999999999;
}
int sx,dx,cx;
int k;
printf ("inserisci numero da cercare = ");
scanf ("%d",&k);
while (sx<=dx) { //errore
cx=(sx+dx)/2;
if (a[cx]==k){
printf ("numero presente nell'array");
}
if (a[cx]>k) {
dx=cx-1;
} else {
sx=cx+1;
}
}
return main();
}
compilo i programmi con dev-c++ che so che è conosciuto per la sua "precisione" per così dire...il compilatore in debug mi da un errore al livello del codice dove ho messo il commento "//errore".
Vorrei sapere se l'errore è stato mio nel scrivere un codice errato o è un "errore" del compilatore.
grazie in anticipo e buona serata a tutti