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
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ł

) -> moj wpis do kosza
-- 24 wrz 2010, o 11:05 --
Pozwolę sobie niecnie wykorzystać
kod miki'ego (brzmi prawie jak nowa powieść Dana Browna

)
i zaproponuje moją wersję
Kod: Zaznacz cały
int i;
float suma=1;
for(i=1; i<55; i=i+1)
{
suma=suma+1/(4*i);
}