Strona 1 z 1

[C] Suma szeregu

: 16 wrz 2010, o 18:44
autor: knopersik14
Witam muszę napisać program w c który będzie liczył coś takiego 1+1/4+1/8+1/12..... i tak 55 wyrazów.

Zaczełem sam i wychodzi mi coś takiego jestem z tego zielony dlatego proszę o pomoc.

Kod: Zaznacz cały

#include<stdio.h>
#include<stdlib.h>
int main(){

do{
double a=4.0,wynik,suma;

wynik=(1/a)+wynik;

}
while(a<=216){
printf("suma wynosi %f", suma);
}
system("pause");
return 0;
}

[C] Suma szeregu

: 16 wrz 2010, o 19:11
autor: wawek91
No wszystko wporzadku, ale gdzie masz zwiększanie współczynnika 'a' ?

[C] Suma szeregu

: 16 wrz 2010, o 19:23
autor: knopersik14
Czyli będzie coś takiego:

Kod: Zaznacz cały

#include<stdio.h>
#include<stdlib.h>
int main(){
double a=4.0, wynik=1, suma;
while(a<=54){ 
  wynik=1+1/a + wynik;
    a = a+4;
    suma=wynik;
printf("suma wynosi %f", suma);
}
system("pause");
return 0;
}

[C] Suma szeregu

: 16 wrz 2010, o 19:52
autor: wawek91
No teraz na szybki rzut oka jest ok. Nigdy nie pisałem w C tylko w C++, ale wydaje mi się, ze teraz powinien działać poprawnie. Zresztą spróbuj go skompilować i uruchomić a sam się przekonasz.

Edit
Choć teraz jak patrzę to ta linijka

Kod: Zaznacz cały

wynik=1+1/a + wynik;
chyba jest błędna.
Ponieważ za kazdym razem (przy kazdym obiegu pętli) będzie dodawana do wyniku ta '1' która stoi na poczatku.

[C] Suma szeregu

: 24 wrz 2010, o 10:41
autor: rozkminiacz
chyba calkiem oboje nie rozumiecie zadania a ten 2 program i petla w nim zawarta jest bledna, chodzi o iteracje

[C] Suma szeregu

: 24 wrz 2010, o 10:50
autor: miki999
A wystarczyła jedna pętelka:

Kod: Zaznacz cały

int i;
float suma=1;
for(i=4; i<=x; i=i+4)
{
   suma=suma+1/i;
} 
(czy jakoś tak) Należy jeszcze wyrzucić na ekran "suma". Należy obliczyć"x": \(\displaystyle{ x=54\cdot 4}\)

Z C nie miałem przez pewien czas do czynienia, więc mogą być "literówki".

edit.
Sorry, źle spojrzałem na zadanie. Zaraz poprawię.

[C] Suma szeregu

: 24 wrz 2010, o 10:54
autor: Inkwizytor
DEL (miki poprawił :P) -> moj wpis do kosza

-- 24 wrz 2010, o 11:05 --

Pozwolę sobie niecnie wykorzystać kod miki'ego (brzmi prawie jak nowa powieść Dana Browna :P)
i zaproponuje moją wersję :P

Kod: Zaznacz cały

int i;
float suma=1;
for(i=1; i<55; i=i+1)
{
   suma=suma+1/(4*i);
}