Buongiorno a tutti. sono alle prime armi e perdonate eventuali scemenze da me scritte.
vi chiedo gentilmente aiuto.
ho creato in visual studio (C) una lista utilizzando i puntatori
per completare l'esercizio devo però aggiungere delle funzionalità a tale costrutto: calcolo della media, della somma dei valori e della deviazione standard. Mi trovo in difficoltà nel richiamare le variabili per risolvere tali problemi e ho a lungo provato senza giungere ai risultati cercati.
sono arrivato qua per adesso:
#include <stdio.h>
#include < malloc.h>
#include "stdafx.h"
float Meanlist( struct elemento *pun)
//struttura della lista: preimpostata da C (studiala e basta)
struct elemento {
int inf;
struct elemento *pun;
};
struct elemento *crea_lista();
void visualizza_lista(struct elemento*);
int main()
{
struct elemento *lista; // puntatore della lista
lista = crea_lista(); // crea la lista
visualizza_lista(lista); // stampa la lista
}
// strumenti per scorrere la lista:
struct elemento *crea_lista()
{
struct elemento *p, *punt;
int i, n;
// permetto all'utente di aggiungere elementi alla mia lista
printf("Specificare il numero di elementi… ");
scanf("%d", &n);
if (n == 0)
{
p = NULL; // lista vuota
}
else {
/* creazione primo elemento */
p = (struct elemento *)malloc(sizeof(struct elemento));
printf("Inserisci il primo valore : ");
scanf("%d", &p->inf);
punt = p;
// se la lista non è vuota ggiungo il primo elemento
/* creazione elementi successivi */
for (i = 2; i <= n; i++)
{
punt->pun = (struct elemento *)malloc(sizeof(struct elemento));
punt = punt->pun;
printf("Inserisci il %d elemento : ", i);
scanf("%d", &punt->inf);
} // chiudo il for
punt->pun = NULL; // marcatore fine lista
} // chiudo l’if-else
return(p);
} // chiudo la funzione
void visualizza_lista(struct elemento *p)
{
printf("lista = ");
// ciclo di scansione
while (p != NULL)
{
printf("%d", p->inf); // visualizza l’informazione
p = p->pun; // scorre di un elemento
}
// conta degli elementi
printf("numero degli elementi %d", &inf );
// somma degli elementi
void totale (int *inf, int totale)
{
totale = *inf;
}
printf("toale = %d", totale)
}
Vi ringrazio per tutte le correzioni e i consigli che saprete darmi