[C] Suma szeregu

knopersik14
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 17 lut 2010, o 13:22
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy

[C] Suma szeregu

Post 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;
}
Ostatnio zmieniony 16 wrz 2010, o 19:43 przez Anonymous, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

[C] Suma szeregu

Post autor: wawek91 »

No wszystko wporzadku, ale gdzie masz zwiększanie współczynnika 'a' ?
knopersik14
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 17 lut 2010, o 13:22
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 5 razy

[C] Suma szeregu

Post 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;
}
Ostatnio zmieniony 16 wrz 2010, o 19:44 przez Anonymous, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

[C] Suma szeregu

Post 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.
Awatar użytkownika
rozkminiacz
Użytkownik
Użytkownik
Posty: 465
Rejestracja: 24 wrz 2008, o 20:12
Płeć: Mężczyzna
Lokalizacja: Krk
Podziękował: 65 razy
Pomógł: 36 razy

[C] Suma szeregu

Post autor: rozkminiacz »

chyba calkiem oboje nie rozumiecie zadania a ten 2 program i petla w nim zawarta jest bledna, chodzi o iteracje
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C] Suma szeregu

Post 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ę.
Ostatnio zmieniony 24 wrz 2010, o 13:44 przez miki999, łącznie zmieniany 70 razy.
Awatar użytkownika
Inkwizytor
Użytkownik
Użytkownik
Posty: 4105
Rejestracja: 16 maja 2009, o 15:08
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 1 raz
Pomógł: 428 razy

[C] Suma szeregu

Post 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);
} 
ODPOWIEDZ