PDA

Visualizza la versione completa : [c]array


fritzz
06-01-2008, 11:25
Ciao a tutti ragazzi!Sto facendo un po' di esercizi per prendere familiarità con gli array..
Scrivete un programma che legga una sequenza di numeri interi terminata da 0 e li stampi dall’ultimo (0 escluso) al primo.
Esempio


3 10 17 21 91 76 0
76 91 21 17 10 3

io ho scritto il programma in questo modo ma non mi sembra pulito..voi che dite?io ho creato un array di dimensione 100.ma come faccio a creare un array che cambia di dimensione in base a quanti a numeri inserisco??thanksss


#include <stdio.h>

int main()
{
int n,i,j;
int a[100];
for(i=0; ;i++ ) {
scanf("%d",&n);
if(n==0) break;
a[i]=n;

}
for(j=i-1;j>=0;j--)
printf("%d ",a[j]);

return 0;
}

Mr.Bloom
06-01-2008, 12:56
ciao,

in c non è possibile fare un array che aumenta la sua dimensione man mano che inserisci elementi, questa è una peculiarità di linguaggi a più alto livello, come Perl o PHP per esempio.

potresti fare una lista puntata oppure chiedere all'utente di inserire prima dei numeri, quanti numeri ha intenzione di sottoporre al tuo programma.

In ogni caso malloc() è la funzione che cerchi :)

menphisx
08-01-2008, 05:28
Originariamente inviato da Mr.Bloom
ciao,

in c non è possibile fare un array che aumenta la sua dimensione man mano che inserisci elementi, questa è una peculiarità di linguaggi a più alto livello, come Perl o PHP per esempio.

potresti fare una lista puntata oppure chiedere all'utente di inserire prima dei numeri, quanti numeri ha intenzione di sottoporre al tuo programma.

In ogni caso malloc() è la funzione che cerchi :)
certo che è possibile, basta usare malloc, realloc, ...

Loading