Gå til innhold

Regne ut pi ved hjelp av Leibniz' formel


Anbefalte innlegg

Tok sin tid, og -meget- lite herfra hjalp :p

 

Men uansett :

int main()
{

double N=1;
double sum=0;					// sum er: (1-1/3+1/5-1/7+1/9-1/11+...)
int sistenevner;
	cout << "Dette programmet regner pi ved Leibniz' formel:\n\n";
	cout << "pi = 4*(1-1/3+1/5-1/7+1/9-1/11+...)\n\n";
	cout << "Velg siste nevner i formelen og trykk Enter\n\n";
	cout << "Velg siste nevner i regnestykket = ";
	cin >> sistenevner;	 // sistenevner %2==1

do
{
	sum=sum+(1/N);		  // 1/1
	N=N+2;				  // N=3
	sum=sum-(1/N);		  // 1/1-1/3
	N=N+2;				  // N=5
}
	while (N<=sistenevner);

	sum*=4;
	cout << sum << "\n";
	system("PAUSE");
return 0;
}

Lenke til kommentar
Videoannonse
Annonse
Tok sin tid, og -meget- lite herfra hjalp :p

Fy faen for en attitude å komme med etter at du har fått utallige fullgode svar. Her får du faen meg et ferdig program og istedenfor å si "takk for at du hjelper en drittunge som ikke orker å gjøre noe selv" så sier du "tok sin tid"? At du ikke var kompentent nok til å gjøre en oppgave du har fått på skolen er ditt eget problem. Hvis du hadde lagt inn _litt_ effort ved å lese en tutorial istedenfor å sitte her og syte og klage og vente at andre skal gjøre jobben din, burde dette programmet vært en smal sak med den hjelpen du har fått. Katastrofe.

Lenke til kommentar

Mente at for min del tok det sin tid å få til programmet! Nå får du slappe av.

 

Snakket frem og tilbake med lærer og har lest MANGE tutorialer, men har desverre ikke klart å skjønne det grunnleggende godt nok til å forstå det jeg mener er mer avansert.

 

Tar selvkritikk på at jeg ikke takket aC, men selvfølgelig, utrolig flott å endelig få et fullgodt svar.

 

Utallige fullgode svar?

Joda, for dere som kan dette er nok alle disse fullgode svar, men jeg har manglet forklaringer tilrettelagt for oss som har -null- peiling, og derfor mener jeg svarene har vært relativt korte og svært simple. Har forsøkt å forklare hvor mye jeg faktisk kan, og svar som

QUOTE(sinnadyr @ 04/09-2009 : 19:02) *

Som igjen leder meg til spørsmålet : Hvilken presisjon har M_PI ?

 

Så stor : http://codepad.org/lMwY8i2z

vil jeg ikke si er noe særlig fullgodt.

aC er nok den jeg kan takke mest, hadde jeg forstått noe av det dere andre har pratet om ville jeg takket dere også.

 

For å si det slikt; aC svarte meg på svensk, resten svarte på gresk

Endret av sinnadyr
Lenke til kommentar
Mente at for min del tok det sin tid å få til programmet! Nå får du slappe av.

 

Snakket frem og tilbake med lærer og har lest MANGE tutorialer, men har desverre ikke klart å skjønne det grunnleggende godt nok til å forstå det jeg mener er mer avansert.

Skeeeptisk.

 

Tar selvkritikk på at jeg ikke takket aC, men selvfølgelig, utrolig flott å endelig få et fullgodt svar.
Kritikk trenger du ikke å ta, for det har du allerede fått.

 

Utallige fullgode svar?

Joda, for dere som kan dette er nok alle disse fullgode svar, men jeg har manglet forklaringer tilrettelagt for oss som har -null- peiling, og derfor mener jeg svarene har vært relativt korte og svært simple. Har forsøkt å forklare hvor mye jeg faktisk kan, og svar som

QUOTE(sinnadyr @ 04/09-2009 : 19:02) *

Som igjen leder meg til spørsmålet : Hvilken presisjon har M_PI ?

 

Så stor : http://codepad.org/lMwY8i2z

vil jeg ikke si er noe særlig fullgodt.

Jasså? Nei? Ikke? Det er faktisk så fullgodt som du får det. Som en kar nevnte så er presisjonen på en konstant en typisk ting som ikke er definert i standarden (vet dog ikke om dette er tilfellet for M_PI), så den eneste måten du da kan sjekke det på er å skrive ut konstanten og se hvor stor presisjonen er selv. Her fikk du igjen et program som du bare kan copy-paste inn i IDEet ditt og kjøre. Men det var tydeligvis ikke fullgodt nok.

 

Uansett, det jeg vil frem til er; jo mer intelligente spørsmål du stiller, jo mer intelligente svar får du.

 

Eric Steven Raymond har en FAQ rundt dette: http://catb.org/~esr/faqs/smart-questions.html

Den er ganske lur å lese.

Lenke til kommentar

Uten å legge meg opp i (eller å forsvare) diskusjonen mellom deg og Dead_Rabbit, så kan jeg prøve å forklare litt hvorfor dette forumet her er litt var på mennesker (og med det mener jeg ikke nødvendigvis deg) som kommer inn her og stiller spørsmål. Dette forumet og særlig C/C++ delen av programmeringsforumet får uttalige endeløse spørsmål av typen. "Giiideru gjørrrre dette for meg!!! LFMOA OMF LOL.. etc". Så ikke ta kritikken personlig.

 

Når det er sagt så kan jeg kanskje gi deg en pekepinn på hva burde se på videre. Sett deg inn det som kalles "Conditional Statements", det høres nok værre ut en det er. Men det er basicly bare avgrensning av typen.

 

Hvis du skrev inn "a", så 
cout "Du skrev inn a", 
hvis ikke, 
cout "ut noe annet"

 

ta en titt her: for litt interessant lesing

Lenke til kommentar

Dead_rabbit: Takker, og "Det er faktisk så fullgodt som du får det. Som en kar nevnte så er presisjonen på en konstant en typisk ting som ikke er definert i standarden (vet dog ikke om dette er tilfellet for M_PI), så den eneste måten du da kan sjekke det på er å skrive ut konstanten og se hvor stor presisjonen er selv." hadde vært fint å fått i hans post, får det hjalp meg noe utrolig!

 

aC, den er god!

 

Skal uansett prøve å lese meg opp mer på emnet, men lærern fungerer dårlig og er -meget- tilbakeholden på informasjon, samt jeg synes mye av det jeg leser på er vanskelig å forstå uten en forklaring fra et menneske som vet hva han/hun snakker om.

Takker for denne gang, kommer sikkert flere spørsmål, og dead_r; Skal prøve å være litt mer intelligent rundt spørsmålene mine neste gang ;)

Lenke til kommentar

Offtopic: Jeg har selv startet med C++ for første gang i år. Jeg har erfaring fra Java men det holdt ikke lenge, for snart møter du C++ syntax som er litt mer avansert enn Java sin. Og jeg skjønner at du sliter med å forstå hvordan det hele fungerer, og ikke minst: det tar TID å sette seg inn i det og skjønne det fullt gjennom.

Heldigvis ble jeg opplyst om en glimrende tutorial her om dagen, som ikke krever mer enn noen ettermiddager foran PCen og gir deg et veldig godt utgangspunkt for videre C++ programmering.

Sjekk den hvis du har tid og vilje, det vil lønne seg :)

 

C++ Tutorial (www.learncpp.com)

Lenke til kommentar
  • 11 måneder senere...

Hei jeg så oppgaven og prøvde den, gikk greit, men hva om man vil ha høyere nøyaktighet. Bruk double selvsagt men det hjelper jo bare så langt. hva slags data struktur skulle en brukt om en vil ha f.eks 100 siffer nøyaktighet om en bruker formelen langt nok? Double vil da ikke holde det forstår jeg, men jeg vet ikke hva ellers en burde ha brukt.

Lenke til kommentar
  • 2 uker senere...

Som jeg nevnte for godt og vel et år siden, legg det inn i et array. Det krever litt mer arbeid fordi du må gjøre om hele formelen til array, men da kan du i teorien finne så mange siffer du vil.

 

Du kan da i teorien holde på så mange siffer det er plass til i arrayen, med mindre du implementerer en form for arraylist som tillater økende størrelse på array

</pedant>

 

EDIT: fjernet dobbel-quote

Endret av aC
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...