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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-05-09, 17:07   # 1
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

עזרה במיון ספרות

היי אני צריך עזרה במיון ספרות
יש לי את הבעיה הבאה:
בנה תוכנית אשר תמיין את הספרות במספר מהקטן לגדול
לדוגמא:
Enter number: 2974
The number: 2479

אסור להשתמש במערכים, מותר רק לולאות..

הבעיה כאן שאני לא יודע כל כך איך בכלל להתחיל את זה
אז אם מישהו יתן לי כיוון אני יודה לו מאוד

תודה
  Reply With Quote
ישן 08-05-09, 17:16   # 2
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 34
הודעות: 2,050

daMn לא מחובר  

באיזה שפה?
בעיקרון אתה יכול ללכת באופן רקורסיבי, כי אתה לא יודע באיזה גודל המספר, וחלק כל פעם ב10 וככה לבודד את המספר ואז לעבור במיון בועה או איך שזה לא נקרא שמחליף מיקומים סמוכים אם השני גדול מהראשון.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote
ישן 08-05-09, 17:18   # 3
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

המספר חייב להיות 4 ספרתי?
  Reply With Quote
ישן 08-05-09, 17:18   # 4
דור
אחראי קהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 3,724

דור לא מחובר  

המספר שאתה קולט , אתה קולט אותו כSTRING או כINT/DOUBLE?

ועוד שאלה , האם המספר חייב להיות דו ספרתי ? "הנחה"?

עריכה: ראיתי את התגובה שלך, אני אנסה עכשיו
למדת רקורסיה?

Last edited by דור; 08-05-09 at 17:29..
  Reply With Quote
ישן 08-05-09, 17:27   # 5
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

המספר יכול להיות בכל גודל שהוא, הייתי צריך לציין את זה
לדוגמה
35326543
נקבל
23334556

והשפה היא C
אם אפשר גם איזה רעיון עם PHP זה יכול לעזור

תודה :}

דור אני קולט אותו כINT וגם לא למדתי רקורסיה

Last edited by Xinxy; 08-05-09 at 17:29..
  Reply With Quote
ישן 08-05-09, 17:34   # 6
דור
אחראי קהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 3,724

דור לא מחובר  

פיתרון

היי ,
זה בשפת סי שארפ
אולי תבין

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

קוד:
		static void Main(string[] args)
		{
			int num=12692;
			double ezer=Math.Pow(10,getnumofdigits(num)-1);
			double newNum=0;
			while (num>0)
			{
				newNum+= (num%10)*ezer;
				num=num/10;
				ezer=ezer/10;

			}
			Console.WriteLine(newNum);
		}
		public static int getnumofdigits(int num)
		{
			int count=0;
			while (num>0)
			{
				count++;
				num=num/10;
			}
			return count;
		}
  Reply With Quote
ישן 08-05-09, 17:45   # 7
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

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

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

קוד:
		static void Main(string[] args)
		{
			int num=12692;
			double ezer=Math.Pow(10,getnumofdigits(num)-1);
			double newNum=0;
			while (num>0)
			{
				newNum+= (num%10)*ezer;
				num=num/10;
				ezer=ezer/10;

			}
			Console.WriteLine(newNum);
		}
		public static int getnumofdigits(int num)
		{
			int count=0;
			while (num>0)
			{
				count++;
				num=num/10;
			}
			return count;
		}
התוכנית שלך לא עובדת טוב
זה נותן 29621 במקום 12269

תודה על הניסיון לעזור
  Reply With Quote
ישן 08-05-09, 17:47   # 8
דור
אחראי קהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 3,724

דור לא מחובר  

אה,
סליחה... חשבתי מספר הפוך

מצטער...
כשאחזור אכתוב לך
  Reply With Quote
ישן 08-05-09, 18:03   # 9
eilon11
חבר על
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 913
שלח הודעה באמצעות ICO אל eilon11 שלח הודעה באמצעות MSN אל eilon11

eilon11 לא מחובר  

שלום אשמח לעזור לך,
בעיקרון קודם כל עלייך להבין את דרך הפתרון.
סה"כ כל מה שאתה צריך לעשות זה לדעת לפרק את המס' ומפה הדרך ממש קלה.
אני אכתוב לך את העיקרון בC שארפ ואני מקווה שתבין.
קוד:
int maxnum=0;
while(num<0)
{
if(num%10>maxnum)
maxnum=num;
num=num/10;
}

הסבר פשוט של מה שעשיתי לקחתי משתנה איפסתי אותו והוא ישמש בתור מי שישמור את המספר הגדול ביותר וככה תדע מי הכי גדול
  Reply With Quote
ישן 08-05-09, 21:54   # 10
sholaman
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 323

sholaman לא מחובר  

תראה יש הרבה דרכים לעשות את זה, המטרה בעצם זה למצוא דרך יפה ויעילה .
הדרך הכי בסיסית שאני חושב עליה זה כל פעם למצוא את המספר הכי קטן ולדחוף אותו למשתנה חדש לפי המיקום שלו.
__________________
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 11:45.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ