quando provo a stampare gli elementi della coda, mi stampa correttamente solo l'ultimo inserito .. dov' è l'errore?
codice:#include <stdio.h> #include <stdlib.h> struct SCoda{ int n; int front; int back; int capienza; int *array; }; typedef struct SCoda TCoda; TCoda Crea_Coda(int capienza); void Aggiungi_Elemento(TCoda *coda,int x); int Prelievo_Elemento(TCoda *coda); int main(int argc, char *argv[]) { TCoda coda; int i,x,n,ext; coda=Crea_Coda(5); printf("Quanti elementi vuoi inserire?"); scanf("%d",&n); for(i=0;i<n;i++){ printf("Elemento da inserire:"); scanf("%d",&x); Aggiungi_Elemento(&coda,x);} for(i=0;i<n;i++){ printf("%d ",coda.array[i]);} system("PAUSE"); return 0; } TCoda Crea_Coda(int capienza){ TCoda coda; coda.n=0; coda.back=0; coda.front=0; coda.capienza=capienza; coda.array=(int*)malloc(sizeof(int)*capienza); return coda;} void Aggiungi_Elemento(TCoda *coda,int x){ coda->array[coda->front]=x; coda->back++; coda->n++;} int Prelievo_Elemento(TCoda *coda){ int x; x=coda->array[coda->front]; coda->front++; coda->n--; return x;}

Rispondi quotando