Ú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!
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3341, 94% Akkumulátor
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- 15,6" Dell Latitude laptopok: E5550, E5570, 5590, 5500, 5501, 5510, 5520 / SZÁMLA + GARANCIA
- Lenovo ThinkPad P14s Gen 1 i7-10510U 32GB 512GB Nvidia Quadro P520 14" FHD Gar.: 1 év
- BESZÁMÍTÁS! Asus A620M R5 7600X 64GB DDR5 1TB SSD RX 6900XT 16GB Zalman Z1 Plus Chieftec 850W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest