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

נושא: אלגוריתם לקומבינציות

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


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

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

הצטרף / הצטרפה: 24 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 25
נשלח בתאריך: 24 October 2005 בשעה 18:07 | IP רשוּם
ציטוט snaidis

זה אני האורח.

אף אחד לא יודע??????

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 24 October 2005 בשעה 20:17 | IP רשוּם
ציטוט shoshan

אף אחד לא יודע בגלל שאני בטוח שדיברו על הנושא כמה פעמים טובות בפורום...חפש
עבור N1 מ-1 עד 3 בצע
     עבור N2 מ-1 עד 3 בצע
          עבור N3 מ-1 עד 3 בצע
                הצג N1, N2, N3


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
snaidis
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 24 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 25
נשלח בתאריך: 25 October 2005 בשעה 19:20 | IP רשוּם
ציטוט snaidis

אולי תוכל לכתוב לי אותו כקוד?

 

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 25 October 2005 בשעה 21:35 | IP רשוּם
ציטוט shoshan

שפה?
פסקל:
קוד:

var i,j,k:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
writeln(i,j,k);
end.



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
snaidis
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 24 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 25
נשלח בתאריך: 26 October 2005 בשעה 06:37 | IP רשוּם
ציטוט snaidis

לא לזה התכוונתי, בלולאה הזאת למשל בריצה הראשונה אז יוצא 1,1,1 וזה לא מה שאני צריך.

אני צריך שיצאו מספרים שמורכבים מכל שלושת האיברים 1,2,3 כמו: 3,2,1  או   1,3,2 

או 2,1,3 זה בעצם העיקרון.

אולי מישהו יודע?

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

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

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

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


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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 26 October 2005 בשעה 13:49 | IP רשוּם
ציטוט shoshan

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

var i,j,k:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
if (i<>j) AND (j<>k) then
writeln(i,j,k);
end.



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 26 October 2005 בשעה 20:22 | IP רשוּם
ציטוט Fate

shoshan כתב:
מכיוון שאין לי כוח להיכנס לכל מיני נושאים שדורשים יותר משנייה חשיבה,
קוד:

var i,j,k:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
if (i<>j) AND (j<>k) then
writeln(i,j,k);
end.



קוד:

if (i<>j) AND (j<>k) AND (i<>k) then

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

הצטרף / הצטרפה: 24 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 25
נשלח בתאריך: 26 October 2005 בשעה 21:42 | IP רשוּם
ציטוט snaidis

אולי מישהו יכול להוכיח לי ששלושת הלולאות האלו באמת מביאות לי את כל הקומבינציות?

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

תודה מראש.

 

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

הצטרף / הצטרפה: 28 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 437
נשלח בתאריך: 26 October 2005 בשעה 21:56 | IP רשוּם
ציטוט y2cRAck4

אני יכול לתת לך קוד ב- Visual Basic שכבר הוכח ועובד כמו גדול:

קוד:

Dim I, J, K As Long
I = 0 : J = 0 : K = 0
For I = 0 To 256
For J = 0 To 256
For K = 0 To 256
TextBox1.Text = Chr(I) + Chr(J) + Chr(K)
Next
Next
Next

ידפיס לך את כל האפשריות של ה- ASCII עם 3 תווים.



__________________
? Why to crack for
חזרה לתחילת העמוד הצג את כרטיס החבר של y2cRAck4 חפש הודעות אחרות של y2cRAck4 בקר בדף הבית של y2cRAck4
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 26 October 2005 בשעה 22:17 | IP רשוּם
ציטוט shoshan

בעקרון בלולאה בראשית אתה עובר על כל האפשרויות של האות הראשונה..
ואז כל פעם שהלולאה הראשונה רצה, בלולאה שנייה אתה עובר על כל האפשרויות של האות השנייה
ואז כל פעם שהלולאה השנייה רצה, בלולאה השלישית אתה עובר על כל האפשרויות של האות השלישית

ולכן עברת על כל האפשרויות



__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 27 October 2005 בשעה 00:46 | IP רשוּם
ציטוט Fate

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 07 January 2006 בשעה 18:13 | IP רשוּם
ציטוט JustMe

הנה הקוד למימוש בC

קוד:

#include <stdio.h>

int main(){

int i,j,k;

i=j=k=0;

for (i=1; i<4 ; i++)

for (j=1; j<4 ; j++)

for (k=1; k<4 ; k++)

if(i!=j && j!=k && i!=k)

printf("%d, %d, %d \n",i,j,k);

 

return 0;

}

 

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


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

זו בעיה שניתן לפתור ע"י backtracking.

אתה בוחר ספרה ראשונה, ומה שנשאר זו הבעיה המקורית, בגודל קטן יותר, אלא שאסור להשתמש בספרש שנבחרה.

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

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 12 February 2006 בשעה 15:44 | IP רשוּם
ציטוט shoshan

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

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

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

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