Ciao a tutti, ho bisogno del vostro aiuto, non sono molto esperto in programmazione in C, ma sto
imparando.
Oggi stavo cercando di fare un programma che utilizza un vettore formato dai numeri da 1 a 15 ordinati casualmente e non capisco cosa ci sia di sbagliato nel mio sorgente.
Il mio problema e' che non stampa a schermo con il printf finale il vettore e non so perché.codice:#include <stdio.h> #include <stdlib.h> int main() { int i , j, flag, ran; int x[16]; i=0; j=0; flag=1; while (i<16){ do { flag=1; ran=rand() % 15 + 1; x[i]=ran; for(j=0;j<i;j++){ if(x[j]==x[i]){ flag=0; } } } while (flag==0); i++; printf("%d \t %d\n", x[i],ran); } for(i=0;i<=15;i++){ printf("%d", x[i]); } return 0; }
Nell'ultima parte del primo ciclo while ho inserito un printf per vedere il valore di 'ran' e del vettore e, sorprendentemente, i valori di 'ran' sono tutti i numeri da 1 a 15 ordinati casualmente (come cercavo), ma i valori di x[i] sono numeri che non c'entrano nulla col programma. A dire il vero credo che se non salvasse i numeri nel vettore non dovrebbe nemmeno funzionare l'"if" che invece funge perfettamente.
So che il programma è lontano dall'essere sintetico e perfettamente funzionale, ma per ora mi basta che sia funzionale. Grazie mille a tutti![]()
![]()


Rispondi quotando