Új hozzászólás Aktív témák
-
SKFA
csendes tag
Üdv ismét!
Nagyjából sikerült megérteni a feladatot, a következőképpen hangzana:Ez a feladat szövege: Az e kiszámolása (ex=1+x+x2/2!+x3/3!+...) adott pontossággal (input). Az exp() nem használható .
Input: pontosság (>10E-15)
Output: Az e a kért pontossággal.Ha jól értelmezem, akkor
ha input=7, akkor ezt a műveletsort hajtaná végre:
e=2+(1/2!)+(1/3!)+(1/4!)+(1/5!)+(1/6!)+(1/7!), és kiírná e-t.
Ha input=3, akkor ezt:
e=2+(1/2!)+(1/3!), és kiírná e-t.#include <stdio.h>
#include <math.h>
int faktorialis(int n){
if(n==1) return 1;
return (n * faktorialis(n-1));
}
int eszam(){
int h, p=0, i=0;
double e=2.0;
printf("Adja a meg a kivant pontossagot!\n");
scanf("%d", &p);
if (p<0)
printf("Csak pozitiv egesz szam fogadhato el!");
else
for (i=2; i<p; i++) {
e+=1/faktorialis(p);
}
return e;
}
int main(){
printf("\nVegeredmeny:%e",eszam());
return 0;
}Idáig jutottam, már abszolút nincs ötletem hogyan tovább. Így a program nem működik, 1.6-ot ad eredményül, többek között ezt sem tudom miért. Estére viszont be kellene adnom, különben csúszok egy évet.
Valaki tud, segítsen. Előre is köszönöm! -
SKFA
csendes tag
válasz
Jester01
#208
üzenetére
Köszönöm a segítséget utólag, és előre is!

Őszintén szólva annyira nem vágom a programozást hogy így kivitelezzem, tanárnak is valószínűleg eleg lenne egy egyszerűbb megoldás.
Ha jól értem a pontosságnak nem sok köze van a tizedesjegyek számához, sokkal inkább a az x^n/x! elvégzett műveletek számához.
-
SKFA
csendes tag
Üdvözlet!
Nemrég kaptam egy beadandó feladatot, amit sehogysem bírok megfejteni....
Így hangzik: (e^x=1+x+(x^2/2!)+(x^3/3!)+(X^4/4!)... ) adott pontossággal (input). Azb exp() nem használható.
Input pontosság: (>10E-15)
Output: Az e a kért pontossággal.Egyáltalán mit jelentene ennél a feladatnál a pontosság? Input=x?
Ameddig eljutottam:#include <stdio.h>
#include <math.h>
int main (){
int p, i=0;
double e;
printf("Adja a meg a kivant pontossagot!\n");
scanf("%d", &p);
if (p<0)
printf("Csak pozitiv egesz szam fogadhato el!");
else
for (i=0; i<p; i++){
e=1+p+pow(p,i);}
printf("%lf", e);
return 0; }Van esetleg valakinek valamiféle ötlete a megoldáshoz?
Előre is köszönöm!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- EVGA RTX 3060 Ti 8GB Founders Edition Garanciával!
- Dell Precision 7760 Tervező Vágó Laptop -70% 17,3" i7-11850H 32/512GB NVIDIA A3000 6GB FHD
- Viper Patriot 4 Blackout Edition (2x4 kit)
- Eladó Konfig Intel Core Ultra 5 225 32GB DDR5 1TB SSD RTX3080TI 12GB!
- GIGABYTE GTX 1660 MINI ITX OC 6GB Garanciával!
- Eladó Honor 400 5G 8/256GB / 12 hó jótállás / AJÁNDÉK KEMÉNY TOK / CSAK KIPRÓBÁLVA VOLT
- Eladó egy Huawei GT3 okos óra Dobozzal tőltővel
- REFURBISHED és ÚJ - DELL Thunderbolt Dock WD22TB4 (210-BDTD)
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10875H 32GB DDR4 512GB SSD Quadro T2000 W11
- CoolerMaster MM710 53gr pehelykönnyű gamer egér eladó
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



