Who speaks C?, printf("I'm stuck/n"); |
|
Porsche, and the Porsche crest are registered trademarks of Dr. Ing. h.c. F. Porsche AG.
This site is not affiliated with Porsche in any way. Its only purpose is to provide an online forum for car enthusiasts. All other trademarks are property of their respective owners. |
|
Who speaks C?, printf("I'm stuck/n"); |
MattR |
Jan 22 2006, 10:48 PM
Post
#1
|
Advanced Member Group: Members Posts: 3,279 Joined: 23-January 04 From: SF Bay Area Member No.: 1,589 Region Association: Northern California |
I'm trying to finish up some homework. Its not last minute (due tomorrow night), but I'm stuck. Britt and I have been trying to debug for a little while but with no luck.
The problem: I'm trying to solve the integral 2*sqrt(1-x*x) from -1 to 1 using the trapezoidal rule. Basically I have to solve the equation: h[f(x1) + f(x2) + ... + f(x n-1)] where x1, x2, etc. is the function evaluated at the point x1, x2, etc. along the x axis. the distance between x1 and x2 is a-b/n, which is the distance of the interval. I will need to input the number of intervals and be given an approximation for the function. Here is my code; #include #include int main(void) { int n; int f=0; int J; int x=-1; printf("Please enter the number of subdivisions n:"); scanf("%d",&n); While (x<=1) { x = x+2/n; f = f+2*sqrt(1-x*x); } J=2/n*f; printf("The approximate integration by Trapezoidal Rule is: %d \n",J); return 0; } Does anybody see anything thats glaring? I'm getting an error in line 23 (after the While (x<=1) that wont stop... |
fiid |
Jan 23 2006, 10:52 AM
Post
#2
|
Turbo Megasquirted Subaru Member Group: Members Posts: 2,827 Joined: 7-April 03 From: San Francisco, CA Member No.: 530 Region Association: Northern California |
I think you need to use printf("%f\n"... instead of %d. %d is for various integer types.
I would also stick to using lower case for variable names (actually in C - I think convention is to use lower case for EVERYTHING except #define statements. You can use camelCase for varible names: example: incrementCounter. You can do a ton of formatting conversions on the $d - i.e. if you only want 5 decimal places you can do %.5d It's also possible to get scientific notation out of it. If you're on a unix box try "man 3 printf" and it will describe it all for you. |
Lo-Fi Version | Time is now: 2nd June 2024 - 08:57 PM |
All rights reserved 914World.com © since 2002 |
914World.com is the fastest growing online 914 community! We have it all, classifieds, events, forums, vendors, parts, autocross, racing, technical articles, events calendar, newsletter, restoration, gallery, archives, history and more for your Porsche 914 ... |