IOPanel

חזור   IOPanel > דבר חופשי > תוכנה ומערכות הפעלה > תיכנות
עמוד ראשי הירשם חיפוש הודעות מהיום סמן פורומים כנקראו

תיכנות פורום בנושאי תיכנות , פיתוח אתרים , שפות תיכנות , אפליקציות סלולר וטאבלטים.

תוכנה ומערכות הפעלה : תיכנות

עזרה בתרגיל בשפת JAVA

2 . כתוב תוכנית הקולטת מספר שלם חיובי. אם המספר בעל כמות ספרות אי זוגית על התוכנית להדפיס את הספרה ...
תגובה
 
קישור חוזר הגדרות אשכול אפשרויות הצגת נושא
ישן 02-01-09, 2:41   #1 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל עזרה בתרגיל בשפת JAVA

2 . כתוב תוכנית הקולטת מספר שלם חיובי.
אם המספר בעל כמות ספרות אי זוגית על התוכנית להדפיס את הספרה האמצעית.
דוגמא: אם נקלט מספר 26534 יש להדפיס 5.
אם המספר בעל כמות ספרות זוגית על התוכנית לעדכן את המספר כך שהמספר המעודכן יכיל אפס במקום האמצעי.
דוגמא: אם נקלט מספר 3487 יש להדפיס 34087 .

התרגיל הוא כזה.
אני הבנתי איך לעשות רק לא הבנתי איך להדפיס את הספרה האמצעית במספר והילך.
תודה על העזרה ולילה שקט בע"ה.
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 12:10   #2 (קישור ישיר)
IO Rookie
 
תאריך הצטרפות: Dec 2008
הודעות: 45
ברירת מחדל

אחרי שאתה מוצא אם זה זוגי או לא זוגי, אתה מתחיל לחלק ב10 ולהדפיס את השארית כל פעם, עד שאתה מגיע לאמצע הדרך ואז אם זה אי זוגי אתה מדפיס את הספרה ואם זה זוגי אתה מדפיס 0 ואז את הספרה הבאה.
m1ke לא מחובר   הגב עם ציטוט
ישן 02-01-09, 13:39   #3 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

פיתרון יפה אבל אני צריך משהו יותר קצר.
יש עוד מישהו שמוכן לעזור לי?
תודה.
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 16:08   #4 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

מקפיץ
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 16:17   #5 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

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

בוא נניח שאתה יודע לקלוט מספר שלם וחיובי...
נגיד וקלטת אותו לתוך משתנה
int x
קח את X ותהפוך אותו למחרוזת
string y = x.tostring()
ואז תוכל לבדוק בקלות את אורך המספר בעזרת הפקודה
y.length()
אם האורך אי זוגי קח את האורך של y חלק ב-2 ותוסיף 1 לתוצאה של החילוק ושמור את זה במשתנה חדש שנקרא לו נגיד Z.
עכשיו תדפיס את y.charAt(z)

זהו סיימת עם המקרה של האי זוגי.

במקרה שאורך y הוא זוגי אתה מחלק את y.length() /2 ושומר במשתנה כלשהו נגיד F
ואז פותח סטרינג חדש ומכניס בו את y.substring(0,f) + "0" + y.substring(f+1)
static לא מחובר   הגב עם ציטוט
ישן 02-01-09, 16:20   #6 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

ועוד משהו.. בשביל לבדוק שמספר הוא זוגי או אי זוגי תעשה ככה
if (y %2 ==0)
אז הוא זוגי
אחרת הוא אי זוגי
static לא מחובר   הגב עם ציטוט
קישור פירסומי
ישן 02-01-09, 16:38   #7 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

תראה בעיקרון זה מה שתיכננתי לעשות:
קוד:
int num,count=0,digit;
num=in.nextInt();
while(num>0)
{
digit=num%10;
count++;
num=num/10;
}
if(count%2==0)
ופה אני תקוע כי אני לא יודע איך להוסיף 0 במקום האמצעי של המספר במקרה והוא זוגי או איך להדפיס את הספרה האמצעית במקרה שהוא אי-זוגי.
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 16:58   #8 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

קוד:
string num;
string output;
int len = num.length();

num=in.nextLine();


if(len%2==0)
{
output = num.substring(0, len/2) + "0" + num.substring((len/2) +1);
}
else
{
output = num.chatAt((len/2) + 1);
}

console.write(output);
static לא מחובר   הגב עם ציטוט
ישן 02-01-09, 21:03   #9 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

מה הבעיה פה:
קוד:
import java.util.Scanner;
public class xd{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
int num,count=0,digit,z,pl,g,l;
count=0;
num=in.nextInt();
z=num;
int []a;
while(num>0)
{digit=num%10;
count++;
num=num/10;
}
a=new int[count];
for(pl=0;pl<=count;pl++)
{
a[pl]=z/10;
pl=pl+1;}
if (count%2==0)
{g=a[pl]+a[pl+1]+"0"+a[pl+2]+a[pl+3];
System.out.println(g);}
else
{l=a[pl/2+1];
System.out.println(l);}
}}
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 21:50   #10 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

איזה שגיאה קיבלת?
בכל מקרה אני לא בטוח שהשורה הזאת תקינה... תגדיר כל משתנה בנפרד ואל תעשה השמה באותה שורה COUNT=0
count=0int num,count=0,digit,z,pl,g,l;
static לא מחובר   הגב עם ציטוט
ישן 02-01-09, 22:10   #11 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

השורה הזאת תקינה..
השגיאה שקיבלתי היא בשורה הנל:
{g=a[pl]+a[pl+1]+"0"+a[pl+2]+a[pl+3];
והשגיאה היא:
incompatible types
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 02-01-09, 22:30   #12 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

אהה ברור.. ההודעה אומרת שהסוגים לא מתאימים
אם נסתכל על מה שכתבת שם זה בעצם חיבור של מספרים ובאמצע פתאום מופיעה המחרוזת "0"
אתה לא יכול לעשות כזה דבר...
תעשה משהו כזה:

g=((a[pl]+a[pl+1]) * 10) + a[pl+2]+a[pl+3];
static לא מחובר   הגב עם ציטוט
ישן 03-01-09, 3:13   #13 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

אין אני לא מבין למה זה לא עובד..
__________________




boxerown לא מחובר   הגב עם ציטוט
ישן 03-01-09, 4:35   #14 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

יש הודעת שגיאה אחרת? או שזה אותה אחת?
static לא מחובר   הגב עם ציטוט
ישן 03-01-09, 13:07   #15 (קישור ישיר)
IO Member
 
סמל האישי של boxerown
 
תאריך הצטרפות: Oct 2007
הודעות: 967
ברירת מחדל

לא הוא כותב שהבדיקה הושלמה בהצלחה אבל הוא לא מבצע את ההוראות במקרה שהCOUNT זוגי או איזוגי.
__________________




boxerown לא מחובר   הגב עם ציטוט
תגובה


הגדרות אשכול
אפשרויות הצגת נושא

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

vB code הינו פועל
סמיילים הינו פועל
קוד [IMG] הינו פועל
קוד HTML הינו כבוי
Trackbacksהינו פועל
Pingbacks הינו פועל
Refbacks הינו פועל


כל הזמנים הם GMT +3. השעה כרגע היא 10:52.





מופעל על ידי: vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO
IOPanel.net © כל הזכויות שמורות