Jump to content
php.lv forumi

C++ Matemātisks vienādojums


goma smile

Recommended Posts

Sveiki man ir jautājums vai manis izveidotais "Skripts" ir pareizs....

 

Sākumā vadoties pēc šiem matemātiskiem 4 vienādojumiem ir jātiek bie gala rezultāta.....

http://www.bildites....kcryp6hsfl9.jpg

 

Un pats skripts....

 

 

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

int x,a,b,y;

printf("Ievadiet X veertiibu:");
scanf("%d",&x);

a = log(x + pow(x,3)); // Apreikinam a
b = 7/(2*x+3) - 5/(2*x*x+3*x); // Apreikina b

if(a <= B)
y = (log(B))/pow(a,3) + 2*b/pow(a,4) - b*b/2* pow(a,5);
else
y = (tan(a))/2*a + (log(tan(b/2))) / 2*b;

printf("\n%d",y);
system("pause");

return 0;
}

 

Vai kāds var pateikt vai man šeit viss ir kārtībā, un kā var pārbaudīt vai ievadītā vērtība X ir skaitlis...

Link to comment
Share on other sites

Skatos te pēc C vairāk nekā C++ izskatās.

 

C++ parasti cin cout lieto. No lietotāja saņemtos datus glabajam stringā. Tālāk var ar isdigit pārbaudīt kas ir ievadīts.

 

Par aprēķina pareizību nemāku teikt, nav laika iedziļināties.

Nākotnē lieto figūriekavas { } if else utt. , jā, arī tad, ja tikai viena rindiņa. Komentārus pievieno!

Link to comment
Share on other sites

Tur tā lieta ka pie rezultāta izmet

-2147483648

 

 

nokompilējot vienīgais ko izmet ir brīdinājumi...

 

C:\Documents and Settings\Brudza\Desktop\darbs_1\Untitled1.cpp In function `int main()':

 

13 C:\Documents and Settings\Brudza\Desktop\darbs_1\Untitled1.cpp [Warning] converting to `int' from `double'

17 C:\Documents and Settings\Brudza\Desktop\darbs_1\Untitled1.cpp [Warning] converting to `int' from `double'

19 C:\Documents and Settings\Brudza\Desktop\darbs_1\Untitled1.cpp [Warning] converting to `int' from `double'

Link to comment
Share on other sites

#include <stdio.h>
#include <windows.h>
#include <math.h>
int main (){
 int x;
double a,b,y;
printf("Ievadiet X veertiibu:");
scanf("%d",&x);
a = log(x + pow(x,3));
// Apreikinam a
printf("\n %f",a)
;b = 7/(2*x+3) - 5/(2*x*x+3*x);
// Apreikina b
printf("\n %f",b);
if(a <= B)
y = (log(B))/pow(a,3) + 2*b/pow(a,4) - b*b/2* pow(a,5);
else
y = (tan(a))/2*a + (log(tan(b/2))) / 2*b;
printf("\n %f",y);
system("pause");
return 0;
}

 

Kad strādās ar x kas ir int, pārraksti x lai ir string, un tālāk veic pārbaudes un pārveidošanu.

Edited by Zefirs
Link to comment
Share on other sites

Tu ja paņem pārāk lielu skaitli, viņš noapaļo līdz nullei, bet man liekas kur precizitāte zūd.

Tev B sanāk 0, bet man 0.0000266534 http://www.wolframal...=1&incTime=true

Tālāk ja B ir nulle , tad dalīšana tur vairs kāda...

 

 

Jā man tieši tas pats

http://www.wolframalpha.com/input/?i=7%2F%282*x%2B3%29+-+5%2F%282*x*x%2B3*x%29%3B+x%3D25%3B

bet ja programmā x ievadu kā 25 tad izvada 0.000000

 

Kapēc tā ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...