נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: פתרון משוואה ריבועית ב- C

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
ניסים
אורח
אורח


הצטרף / הצטרפה: 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 = ", &x1);

אל
קוד:

        printf("X1 = %.2lf", &x1);


בכל מקרה זה לא עוזר
יש למישהו רעיון אולי לפתרון?
חזרה לתחילת העמוד הצג את כרטיס החבר של ניסים חפש הודעות אחרות של ניסים בקר בדף הבית של ניסים
 
maz0r
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 26 June 2006 בשעה 12:53 | IP רשוּם
ציטוט maz0r

אתה לא צריך לכתוב ב

printf

את כל המשתנים שלך עם &

תמחק את כל ה-& ואז זה יעבוד לך ..

חזרה לתחילת העמוד הצג את כרטיס החבר של maz0r חפש הודעות אחרות של maz0r בקר בדף הבית של maz0r
 
ניסים
אורח
אורח


הצטרף / הצטרפה: 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 רשוּם
ציטוט shoshan

הפתרונות באמת במינוס
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Nameless
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 26 June 2006 בשעה 17:24 | IP רשוּם
ציטוט Nameless

scanf("%i", &a);

במקום
%i

%d

וגם ב B ו C
חזרה לתחילת העמוד הצג את כרטיס החבר של Nameless חפש הודעות אחרות של Nameless בקר בדף הבית של Nameless
 
Nameless
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 26 June 2006 בשעה 17:32 | IP רשוּם
ציטוט Nameless

ובמקום
if
return 0;
if
return 0;
if
return 0;
if
return 0;

תעשה
if
else if
else if

וכו'
כדי שזה לא יבדוק את כל האפשרויות

או שתשתמש ב switch - case

ואולי אחרי כל scanf תצטרך לעשות flushall()

חזרה לתחילת העמוד הצג את כרטיס החבר של Nameless חפש הודעות אחרות של Nameless בקר בדף הבית של Nameless
 
yiag
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 26 May 2006
מדינה: Israel
משתמש: מנותק/ת
הודעות: 103
נשלח בתאריך: 27 June 2006 בשעה 12:07 | IP רשוּם
ציטוט yiag

במקום

קוד:

 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;

חזרה לתחילת העמוד הצג את כרטיס החבר של yiag חפש הודעות אחרות של yiag
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה