כותב |
|
ניסים אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 08:38 | | IP רשוּם
|
|
|
|
עשיתי הכל נכון עד עכשיו לא היו בעיות ב- Compiler הכל היה בסדר אבל כל הפתרונות(ממש כולם) שווים ל- 0.00 מישהו יכול להגיד לי מה לא בסדר פה?
קוד:
#include <stdio.h> #include <math.h>
int main() { printf("Hello, world\n"); int a,b,c; double disc,x1,x2,x3,x4; printf("This program should solve squared equation, please enter a(ax^2)\n"); scanf("%i", &a); printf("Please enter b(bx)\n"); scanf("%i", &b); printf("Please Enter C\n"); scanf("%i", &c); printf("OK, Checking how much X solves it has..\n"); disc = pow(b,2) - 4 * a * c; if (disc < 0) { printf("This equation has no solves.."); return 0; } if (disc == 0) { printf("This equation has one solve\n"); } if (disc > 0) { printf("This equation has two solves\n"); } if (a == b == c) { printf("Sorry, no solves for this equation"); return 0; } if ( a == 0 ) { printf("Sorry, a could not be 0 in squared equation"); return 0; } x1 = (-b + sqrt(disc))/(2*a); if (disc == 0) { printf("X1 = ", &x1); } else { x2 = (-b - sqrt(disc))/(2*a); printf("X1 = %.2lf\n", &x1); printf("X2 = %.2lf", &x2); } return 0; }
|
|
|
סליחה על האנגלית הגרועה שלי אני כולה כיתה ט'
תודה לעוזרים
|
חזרה לתחילת העמוד |
|
|
ניסים אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 08:39 | | IP רשוּם
|
|
|
|
|
חזרה לתחילת העמוד |
|
|
ניסים אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 08:49 | | IP רשוּם
|
|
|
|
סליחה על השלוש תגובות פשוט אני לא מסתדר עם המערכת שלכם :S תעשו את הדבר הזה שאי אפשר לשלוח הודעה ריקה :S רק רציתי להגיד שתיקנתי את השורה
אל
קוד:
printf("X1 = %.2lf", &x1);
|
|
|
בכל מקרה זה לא עוזר יש למישהו רעיון אולי לפתרון?
|
חזרה לתחילת העמוד |
|
|
maz0r אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 12:53 | | IP רשוּם
|
|
|
|
אתה לא צריך לכתוב ב
printf
את כל המשתנים שלך עם &
תמחק את כל ה-& ואז זה יעבוד לך ..
|
חזרה לתחילת העמוד |
|
|
ניסים אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 17:04 | | IP רשוּם
|
|
|
|
וואי תודה עזר לי מאוד!! רק למה זה לא כתוב במדריך? :S בכל מקרה הצלחתי אבל זה מציג את כל הפתרונות במינוס..(ניסתי תאמת x^2 + 6x + 8.. לא בדקתי אם זה נכון ששתיהם במינוס.. אבל יצא לי גם ש- x^2 + 6x + 9 יוצא -3 במקום 3.. יש למישהו רעיון? :O)
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 26 June 2006 בשעה 17:10 | | IP רשוּם
|
|
|
|
הפתרונות באמת במינוס
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 17:24 | | IP רשוּם
|
|
|
|
scanf("%i", &a);
במקום %i
%d
וגם ב B ו C
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 June 2006 בשעה 17:32 | | IP רשוּם
|
|
|
|
ובמקום if return 0; if return 0; if return 0; if return 0;
תעשה if else if else if
וכו' כדי שזה לא יבדוק את כל האפשרויות
או שתשתמש ב switch - case
ואולי אחרי כל scanf תצטרך לעשות flushall()
|
חזרה לתחילת העמוד |
|
|
yiag משתמש פעיל
הצטרף / הצטרפה: 26 May 2006 מדינה: Israel
משתמש: מנותק/ת הודעות: 103
|
נשלח בתאריך: 27 June 2006 בשעה 12:07 | | IP רשוּם
|
|
|
|
במקום
קוד:
if (disc < 0) { printf("This equation has no solves.."); return 0; } if (disc == 0) { printf("This equation has one solve\n"); } if (disc > 0) { printf("This equation has two solves\n"); } if (a == b == c) { printf("Sorry, no solves for this equation"); return 0; } if ( a == 0 ) { printf("Sorry, a could not be 0 in squared equation"); return 0; } x1 = (-b + sqrt(disc))/(2*a); if (disc == 0) { printf("X1 = ", &x1); } else { x2 = (-b - sqrt(disc))/(2*a); printf("X1 = %.2lf\n", &x1); printf("X2 = %.2lf", &x2); } return 0; }
|
|
|
עדיף לכתוב
קוד:
if (disc < 0) { printf("This equation has no solves.."); return 0; }
x1 = (-b + sqrt(disc))/(2*a);
if (disc == 0) printf("X = ", &x1); else { x2 = (-b - sqrt(disc))/(2*a); printf("X1 = %.2lf\n", &x1); printf("X2 = %.2lf", &x2); } return 0;
|
|
|
|
חזרה לתחילת העמוד |
|
|