ABA


"שאלה בסיסת בג'אווה (פירוק מספר)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15562 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15562
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות, דרג אמינות חבר זה
   20:16   18.11.09   
אל הפורום  
  שאלה בסיסת בג'אווה (פירוק מספר)  
 
   כתוב תוכנית הקולטת מספר שלם באורכו, מוצאת ומדפיסה את מספר הספרות הזוגיות בו.

long num1;
int Sumnums;
int nDigits;

Sumnums = 0;
nDigits = 0;

System.out.println("הכנס מספר");
num1 = kelet.nextLong();


while(num1 != 0){
num1 /= 10;
nDigits++;

אני רק מצליח למספר אותם, אין לי מושג איך מוצאים את הספרות שהן רק זוגיות :|

(ד"א, מה החילוק ב-10 נותן לי?)


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  כעיקרון החילוק ב-10 אמור לקצץ לך את הספרה Nesher  18.11.09 21:14 1
     רגע רגע Drunken-Dwarf 18.11.09 21:28 2
         ראה תגובה 3. ronen333  18.11.09 23:37 4
  ראבק אחי אתה חייב להתחיל לחשוב ronen333  18.11.09 23:23 3
     חח מה זה '' אם תחלק ב10 מה יקרה?'' Drunken-Dwarf 21.11.09 19:41 5
         מכתב ronen333  21.11.09 20:05 6
             ובגלל שאתה לא מבצע שום השמה אתה עושה num/=10 ronen333  21.11.09 20:16 7
             האמת כששאלתי מה החלקי 10 עושה התכוונתי ל 10=/ שבסוף Drunken-Dwarf 21.11.09 21:13 8
                 אז תלמד לנסח את השאלות שלך אחי.. ronen333  21.11.09 21:23 9

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק, 43 נקודות
   21:14   18.11.09   
אל הפורום  
  1. כעיקרון החילוק ב-10 אמור לקצץ לך את הספרה  
בתגובה להודעה מספר 0
 
לדוגמא קלטו 100
אז 100/10
נותן 10
10/10
נותן 1
1/10
נותן 0 ואז מפסיקה התוכנית לספור

אבל מה? לא עשית בדיקה של הספרה או המספר ב-2
אתה סופר את מס' הספרות שבמספר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות, דרג אמינות חבר זה
   21:28   18.11.09   
אל הפורום  
  2. רגע רגע  
בתגובה להודעה מספר 1
 
   אז אם בעצם הייתי מכניס מספר שלא מתחלק בצורה שלמה ב- 10,
נגיד 13, אז התוכנית לא הייתה עובדת?

ולא כל כך הבנתי על איזה בדיקה אתה מדבר :\


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   23:37   18.11.09   
אל הפורום  
  4. ראה תגובה 3.  
בתגובה להודעה מספר 2
 
   ואם אני לא טועה בעבר שאלת איך בודקים זוגיות.. וענו לך במספר דרכים.
אם המספר מתחלק ב2 ללא שארית הוא מן הסתם זוגי, אז אתה צריך לבדוק אם הספרה מודלו 2 יתן לך אפס.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   23:23   18.11.09   
אל הפורום  
  3. ראבק אחי אתה חייב להתחיל לחשוב  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 18.11.09 בשעה 23:28 בברכה, ronen333
 
לא כל משימה שאתה מקבל ישר תפנה לפה.. זה דרך מאוד גרועה ללמוד.

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

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


בקיצור:


while(num!=0)
{
if((num%10)%2==0)
counter++;
num/=10;
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות, דרג אמינות חבר זה
   19:41   21.11.09   
אל הפורום  
  5. חח מה זה '' אם תחלק ב10 מה יקרה?''  
בתגובה להודעה מספר 3
 
   אם נגיד הכנסתי ב- num ת'מספר 3258, אז מה זה נותן לי?
אם ספרת האחדות היא זוגית {כמו שכתבת ((num%10)%2==0)}
אז מה החילוק ב- 10 נותן לי?
זה עושה 8 חלקי 10 ואז מה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   20:05   21.11.09   
אל הפורום  
  6. מכתב  
בתגובה להודעה מספר 5
 
   מה זה "מה החילוק ב10 נותן לי?" הרגע אמרתי לך..
אם הכנסת את המספר 3258 ותחלק אותו ב10 המספר יהיה 325 ושארית 8.
כדי לבדוק אם 8 זוגי אתה מחלק אותו ב2, אם השארית אפס אז הוא זוגי, אם לא אז הוא אי זוגי.
לכן אתה עושה num%10 שנותן לך 8 ואז %2 שנותן לך שארית אפס אם זה זוגי ו1 אם לא.
כאן 8 הוא זוגי, לכן השארית אפס והוא יקיים את התנאי.

עכשיו אתה צריך לקצץ את המספר לכן תחלק אותו ב10.

אתה מבין שאם אתה עושה num%10 זה מביא לך תוצאה ולא משנה את המספר כן? אתה לא מבצע פה שום השמה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   20:16   21.11.09   
אל הפורום  
  7. ובגלל שאתה לא מבצע שום השמה אתה עושה num/=10  
בתגובה להודעה מספר 6
 
   שזה שקול ללרשום num=num/10.
שפה אתה מבצע השמה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות, דרג אמינות חבר זה
   21:13   21.11.09   
אל הפורום  
  8. האמת כששאלתי מה החלקי 10 עושה התכוונתי ל 10=/ שבסוף  
בתגובה להודעה מספר 6
 
   התוכנית. (בסוף הבנתי שהוא כל פעם חוזר על עצמו בלולאה ומחלק את כל הספרות ב-10).

ד"א, מה זה ה counter הזה?
לא אמור להיות מונח אחר שכותבים במקום?
פעם ראשונה אני רואה את זה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות, דרג אמינות חבר זה
   21:23   21.11.09   
אל הפורום  
  9. אז תלמד לנסח את השאלות שלך אחי..  
בתגובה להודעה מספר 8
 
   כל האשכול הזה היתה שאלה על בעיית הבנה שלך מבחינת SYNTAX?
COUNTER זה לא מונח.. COUNTER הוא משתנה- בדיוק כמו nDigit שלך.
הבאתי לו את השם הזה כדי שיהיה לך ברור שהוא מונה :|
מסתבר שזה לא היה ברור.. =/
כמובן שCOUNTER מונה אז הוא צריך להתחיל מ0.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net