Carissimi geni dell'informatica,
sono in preda al panico per un semplice programma...
Vi chiedo un sostegno morale e un supporto pratico...
Questo programma che ora visualizzerò gira e crea una lista di interi.
Mi potete per favore scrivere una funzione che conti e stampi le occorrenze di ciascun numero intero immesso prima?
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
/*struttura elementi della lista*/
struct elemento {
int num;
struct elemento *pun;
};
/*prototipi*/
struct elemento *crea_lista();
void visualizza_lista(struct elemento *);
void conta_occorrenze( struct elemento*);
int main()
{ int c;
struct elemento *p;
struct elemento *lista=NULL; /*puntatore della lista-dichiaro la lista vuota*/
lista=crea_lista(); /*crea la lista*/
visualizza_lista(lista); /* stampa la lista*/
c= conta_occorrenze(p);
system("PAUSE");
return 0;
}
struct elemento* crea_lista()
{
struct elemento *p, *ptr;
int i, n;
printf("\nQuanti numeri vuoi inserire?\n");
scanf("%d", &n);
if(n==0)
{
p=NULL; /*lista vuota*/
}
else{
/*creazione primo elemento*/
p=(struct elemento*)malloc(sizeof(struct elemento));
printf("\nInserisci solo valori compresi tra 1 e 10\n");
printf("\nInserisci il primo valore:");
scanf("%d", & p->num);
ptr=p;
/*creazione elementi successivi*/
for(i=2;i<=n; i++)
{
ptr->pun=(struct elemento*)malloc(sizeof(struct elemento));
ptr=ptr->pun;
printf("\nInserisci il %d elemento:", i);
scanf("%d", &ptr->num);
} /*chiudo il for*/
ptr->pun=NULL; /* marcatore fine lista*/
} /* chiudo if-else*/
return(p);
}/*chiudo la funzione*/
void visualizza_lista(struct elemento*p)
{
printf(" \nlista\n\n\n\n\n");
/*ciclo di scansione*/
while(p!=NULL)
{printf("%d", p->num);/*visualizza l'informazione*/
printf("\t ");
p= p->pun;/*scorre di un elemento*/
}
printf("NULL\n\n\n");
}
int conta_occorrenze()
Vi chiedo inoltre una cosa...c'è una procedura standard se volessi scrivere nel main o in una funzione a parte di immettere successivamente un elemento in coda alla lista o in testa alla lista del proggramma suddetto?
Vi prego aiutatemi.
Vi ammiro e vi stimo per cotanta intelligenza. Sono una frana...e purtroppo devo pure fare linguaggio C come esame..povera me!!!
ET