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

נושא: מבקשת עזרה ב C

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 May 2005 בשעה 08:27 | IP רשוּם
ציטוט דפנה

תעזרו לי בבקשה עם השאלה

תוכנית תקלוט מספר שלם.  על התוכנית לברר ולהדפיס הודעה מתאימה  : האם כל הספרות מהן מורכב המספר נמצאות בתוכו בסדר עולה, בסדר יורד או ללא סדר

תודה תודה

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 22 May 2005 בשעה 12:34 | IP רשוּם
ציטוט ניר

נסי את האלגוריתם הבא:

1. כל עוד הספרה הבאה (מימין) קטנה מהקודמת וגם המספר שונה מ-0, חלק את המספר ב-10
2. אם הגענו בסוף הלולאה ל-0, סיים והחזר "עולה"
3. התחל שוב עם המספר המקורי.

4. כל עוד הספרה הבאה (מימין) גדולה מהקודמת וגם המספר שונה מ-0, חלק את המספר ב-10
5. אם הגענו בסוף הלולאה ל-0, סיים והחזר "יורד"
6. אם לא החזרנו כלום עד כה, החזר "אין סדר"


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 22 May 2005 בשעה 14:11 | IP רשוּם
ציטוט דפנה

תודה על התגובה המהירה, והשאלה שלי איך אני מתרגמת את
"הסיפרה הבאה מימין"  ??

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 22 May 2005 בשעה 14:25 | IP רשוּם
ציטוט ניר

קוד:
if (num % 10 > (num / 10) % 10)

ככה, לדוגמא


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 16:09 | IP רשוּם
ציטוט דפנה

האם זה נכון? ואם לא, מה הטעויות בבקשה

קוד:
include <studio. h>

void main ()

int num;

{

    printf ("enter number\n");

    scanf ("%d, &num");

        while (num=!0)

                      {
         &nbs p;               if (num%10>num/10)%10)

                             num=num/10;

                            printf ("up");

                            else

                          if (num%10<num/10)%10)

                          num=num/10;

                           printf ("down");

                        else

                           printf ("no order");

                   }

      }        ; ;      

                  

תודה, דפנה

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

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 23 May 2005 בשעה 16:27 | IP רשוּם
ציטוט pitbull

שימי את כל הקוד בין התגיות
קוד:

[ code ]
[ / code ]

אבל בלי הרווחים,
ככה יהיה יותר נוח לעזור לך..
חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
דפנה
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 17:00 | IP רשוּם
ציטוט דפנה

[

#include stdio .h>

void main ()

int num;

{

    printf ("enter number\n");

    scanf ("%d, &num");

        while (num=!0)

                    {
                       if (num%10>num/10)%10)

                        num=num/10;

                       printf ("up");

                       else

                      if (num%10<num/10)%10)

                      num=num/10;

                      printf ("down");

                      else

                      printf ("no order");

                   }

   } 

]

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 23 May 2005 בשעה 17:17 | IP רשוּם
ציטוט ניר

חסר סולמית לפני ה-include
וגם יש בו שגיאת כתיב:

קוד:
#include <stdio.h>


אחרי הmain צריך סוגריים מסולסלות, ולפני ה-num

קוד:

void main ()
{
int num;


בנוסף שימי לב שאת מדפיסה up ו-down הרבה פעמים ולא פעם אחת

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 17:31 | IP רשוּם
ציטוט דפנה

 

הוספתי את הסוגריים והסולמית

ובקשר להדפסה של הלמעלה והלמטה המון פעמים, מה אני צריכה לעשות?  איך אני עושה את בחירת שלושת ההדפסות בנפרד - פעם אחת?

תודה תודה

 

[

#include <stdio .h>

void main ()

{

int num;

    printf ("enter number\n");

    scanf ("%d, &num");

        while (num=!0)

         {
                         if (num%10>num/10)%10)

                        num=num/10;

                       printf ("up");

                       else

                      if (num%10<num/10)%10)

                      num=num/10;

                      printf ("down");

                      else

                      printf ("no order");

              }

}]

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 18:21 | IP רשוּם
ציטוט דפנה

האם כדי שלא יהיו הרבה הדפסות של למעלה ולמטה,  אני צריכה לולאות נפרדות, ולאחר שאני יוצאת מכל אחת מהן אני מדפיסה את התשובה המתאימה?

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

הצטרף / הצטרפה: 22 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1073
נשלח בתאריך: 23 May 2005 בשעה 19:28 | IP רשוּם
ציטוט ShadowBeast

את צריכה לשים את מה שאת רושמת בC (או כללית באנגלית)
בתגי code
כלומר תג שמתחיל ב
קוד:

[ code ]

ונגמר ב
קוד:

[ /code ]

(רק בלי הרווחים)
לא להכניס את זה לסוגריים מרובעים!
עכשיו הבנת?
וגם, אם תרשמי לפורום יהיה לך הרבה יותר נוח, תוכלי לערוך את ההודעות שלך(וגם תעזרי להתפתחות הפורום)
וזה לוקח רק שנייה




__________________
The highest knowledge is to know that we are surrounded by mystery - Albert Schweitzer

He who will not take the hint, must take the consequence - Glenn v. Covey (1854)

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 20:09 | IP רשוּם
ציטוט דפנה

עכשיו הבנתי, ומה בקשר לשאלה שלי, איפה לשים את ההדפסה כדי שהעולה ויורד לא יצא הרבה פעמים??

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 23 May 2005 בשעה 20:15 | IP רשוּם
ציטוט ניר

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


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

הצטרף / הצטרפה: 01 March 2005
משתמש: מנותק/ת
הודעות: 53
נשלח בתאריך: 23 May 2005 בשעה 22:06 | IP רשוּם
ציטוט feint

רעיון.

להמיר את המספר למחרוזת (itoa(number)). ומשם להתעסק עם זה.

לדעתי יהיה לך יותר קל להתעסק עם מחרוזת מאשר עם המספר עצמו.

 



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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 23 May 2005 בשעה 22:16 | IP רשוּם
ציטוט אורח

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 May 2005 בשעה 10:15 | IP רשוּם
ציטוט דפנה

עשיתי את זה ככה כדי שלא ידפיס הרבה פעמים. זה נראה פחות יעיל אבל אני לא מצליחה אחרת. האם זה נכון?

 

קוד:

#include stdio .h>

void main ()

int num;

{

    printf ("enter number\n");

    scanf ("%d", &num);

         while (num=!0)

         {
           if (num%10>num/10)%10)

           num=num/10

           }

         printf ("ole");

         scanf ("% d",num)        & n bsp;          ;&n bsp; 

         while num!=0

         {

           if (num%10<num/10)%10)

           num=num/10;

           }

           printf ("down");

          else

           printf ("no order");

           }

  } 

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 May 2005 בשעה 14:49 | IP רשוּם
ציטוט דפנה

האם התוכנית בסדר?

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 May 2005 בשעה 15:21 | IP רשוּם
ציטוט ניר

לא בסדר.
קוד:
num=num/10

חסר נקודה פסיק.

חוץ מזה את מדפיסה תמיד "עולה" בלי קשר לתוצאה.

הנה פתרון לחלק של ה"עולה", תראי אם את מבינה:
קוד:


int main()
{
    int num, temp, isGoingUp;
    ... /* value from the user is in num */
    temp = num;
    isGoingUp = 1;
    while (temp != 0 && temp / 10 > 0)
    {
        if (temp % 10 < ( (temp / 10) % 10 ) ) isGoingUp = 0;
    }
    if (isGoingUp) printf("Up\n");
    ...
}



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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 May 2005 בשעה 15:56 | IP רשוּם
ציטוט דפנה

מקווה שהבנתי, הוספתי גם את "יורד למטה" וגם את "אין סדר" זה בסדר?

 

# include <stdio.h>

 int main()
{
    int num, temp, isGoingUp, isGoingDown;
        temp = num;
    isGoingUp = 1;
    while (temp != 0 && temp / 10 > 0)
    {
        if (temp % 10 < ( (temp / 10) % 10 ) ) isGoingUp = 0;
    }
    if (isGoingUp) printf("Up\n");

    while (temp!=0 && temp/10>0)

    {
       if (temp%  10 > (temp / 10 ) % 10 ) ) isGoingDown = 0;

   if (isGoingDown) printf("down"/n);

       else

       printf("no order"); 
   
}

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 24 May 2005 בשעה 16:30 | IP רשוּם
ציטוט דפנה

 

שכחתי את סגירת  הסוגריים

# include <stdio.h>

 int main()
{
    int num, temp, isGoingUp, isGoingDown;
        temp = num;
    isGoingUp = 1;
    while (temp != 0 && temp / 10 > 0)
    {
        if (temp % 10 < ( (temp / 10) % 10 ) ) isGoingUp = 0;
    }
    if (isGoingUp) printf("Up\n");

    while (temp!=0 && temp/10>0)

    {
       if (temp%  10 > (temp / 10 ) % 10 ) ) isGoingDown = 0;

    }

             if (isGoingDown) printf("down"/n);

           else

             printf("no order"); 
   
}

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

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 May 2005 בשעה 22:31 | IP רשוּם
ציטוט ניר

את עדיין לא משתמשתי ב"קודי הפורום". קודי הפורום
תעיפי מבט :) הקוד שלך לא קריא... תסתכלי על התג "code"


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 25 May 2005 בשעה 08:06 | IP רשוּם
ציטוט דפנה

תודה על ההערה, מקווה שעכשיו זה ברור יותר

קוד:

include <stdio.h>

 int main()
{
    int num, temp, isGoingUp, isGoingDown;
        temp = num;
    isGoingUp = 1;
    while (temp != 0 && temp / 10 > 0)
    {
        if (temp % 10 < ( (temp / 10) % 10 ) ) isGoingUp = 0;
    }
    if (isGoingUp) printf("Up\n");

    while (temp!=0 && temp/10>0)

    {
       if (temp%  10 > (temp / 10 ) % 10 ) ) isGoingDown = 0;

    }

             if (isGoingDown) printf("down"/n);

           else

             printf("no order"); 
   
}

חזרה לתחילת העמוד הראה דפנה's פרופיל חפש הודעות אחרות של דפנה
 

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


הצטרף / הצטרפה: 08 March 2005
מדינה: Armenia
משתמש: מנותק/ת
הודעות: 69
נשלח בתאריך: 25 May 2005 בשעה 22:31 | IP רשוּם
ציטוט Nameless

קוד:

#include <stdio.h>

 int main()
{
    int num = 0, temp = num, isGoingUp = 1, isGoingDown;
    while ((temp != 0) && ((temp / 10) > 0))
    {
        if ((temp % 10) < ((temp / 10) % 10 )) isGoingUp = 0;
    }
    if (isGoingUp) printf("Up\n");

    while ((temp!=0) && ((temp/10) > 0))

    {
       if ((temp%  10) > ((temp / 10 ) % 10 )) isGoingDown = 0;

    }

             if (isGoingDown) printf("down\n");

           else

                 printf("no order"); 
   
}


לא בדקתי אם התוכנית עושה את מה שהיא אמורה לעשות.


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

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

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

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