Salve a tutti!
Sto cercando di scrivere un algoritmo che, dati in ingresso due valori, mi crei un array dinamico contenente i valori dell'intervallo (dato dai due valori in input).
Esempio: input 9 e 5, l'array sarà 5 6 7 8 9.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *v; //Dichiarazione array dinamico
int max, min, i; //Estremi dell'intervallo
printf("Max: "); scanf("%d", &max);
printf("Min: "); scanf("%d", &min);
int d = (max - min) + 1; //dimensione intervallo (estremi compresi)
printf("d vale %d\n", d);
v = malloc(d*sizeof(int)); //allocazione dinamica array v
for(i = min; i <= max; i++) //caricamento array dinamico
v[i];
printf("Intervallo caricato dinamicamente: \n");
for(i = min; i <= max; i++) //stampa intervallo (estremi compresi)
printf("v[%d] vale %d\n", i, v[i]);
return 0;
}
Il problema è che, per esempio, con 9 e 5 mi stampa:
v[5] vale 0
v[6] vale 135137
v[7] vale 0
v[8] vale 0
v[9] vale 0
Mentre vorrei che stampasse:
v[5] vale 5
v[6] vale 6
v[7] vale 7
v[8] vale 8
v[9] vale 9
Credo che il problema sia nell'indice i, ma non so come risolvere.
Grazie per l'eventuale aiuto.