[c] aiuto esercizio somma segna alternata

pablitoss12
Salve , ho provato in tutti i modi a fare questo esercizio e nn riesco proprio...
vi posto il codice che ho fatto ( fatto in questo modo mi da un risultato più logico di quelli che mi dava prima).


/*Scrivere una fuction C per calcolare una somma di addendi a segno alterno(bisogna visualizzare gli errori di roundoff*/

#include
#include
#include
#include

float somma_Segno(float x);

void main()
{
float x=0,somma=0.0,ea,er;

somma=somma_Segno(x);
printf("la somma =%f\n", somma);


/*calcola il valore assuluto e valore relativo*/
ea=(float)fabs(somma-x);
er=ea/(float)fabs(somma);


printf("Errore Assoluto=%e\nErrore Relativo=%e\n",ea,er);
printf("X double= %e\nX float= %e\n",x,somma);

free(x);


}


float somma_Segno(float x)
{
float x_prec =-1,segno;
x=0;
segno=-1;
while (x > x_prec)
{
x_prec=x;
x=(segno)*(x)+(float)rand();
printf(" la somma sss e' : %e\n",x);
}
return x_prec;
}


Risposte
provola-votailprof
Innanzitutto non inizializzi la randomizzazione.
Secondariamente non ho ben capito cosa vuoi fare, gli addendi dovrebbero essere quel numero random? Cosa intendi per errore? Potresti postare la traccia intera per chiarire il tutto.

pablitoss12
Il problema della traccia è anche il mio , ti spiego la traccia è :
Scrivere una fuction C per calcolare una somma di addendi a segno alterno
fa parte del capitolo errori di raudoff, io ho provato a fare anche una somma di array a segno alternato ma credo nn è quello che vuole l'esercizio.

apatriarca
Qual'è esattamente il testo dell'esercizio? La somma alternata deve essere fatta di valori casuali? In che intervallo? Che cosa non riesci a fare esattamente del tuo esercizio?

EDIT: scusa, ho problemi con il PC e non avevo aggiornato la pagina prima di rispondere.
Comunque la richiesta dell'esercizio è in effetti poco chiara. Si tratta di un esercizio dato dal tuo professore o di un esercizio sul libro? Nel primo caso di consiglio di chiedere chiarimenti, nel secondo caso credo che qualsiasi serie vada bene, senza far ricorso ad un generatore casuali di numeri. Avendo infatti una serie conosciuta è possibile comprendere meglio l'errore ottenuto.

pablitoss12
la traccia: Scrivere una fuction C per calcolare una somma di addendi a segno alterno .
Nn riesco a capire come devo fare, ho provato a farlo pero nn mi sembra corretto.

provola-votailprof
ma intendi forse errori di round off?

pablitoss12
si

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.