הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 31-03-06, 20:02   # 1
amirs_5
הוסטסניון
 
amirs_5's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ת"א
גיל: 34
הודעות: 2,168
שלח הודעה באמצעות ICO אל amirs_5 Send a message via Skype™ to amirs_5

amirs_5 לא מחובר  

עזרה [php] - תפריט אקראי

אתם זוכרים תאשכול הקודם שלי , אז חשבתי שהצלחתי אבל לא , אז ניסיתי אני ליצור מחדש קוד ולא הצליח לי ...
אממ .. אז ככה למי שלא יודע את הבעיה אני יפרט :
אני רוצה שכל פעם הפלט יהיה 5 מספרים רנדומליים.
לא יהיה אותו מספר פעמיים.
וכל המספרים המוגדרים חייבים להראות .
לדוגמא :
12534
25413
23154
וכו..

טוב אז הקוד שרשמתי זה...
PHP קוד:
$cheak = array( '1'   => "0",
          
'2'  => "0",
          
'3'  => "0",
          
'4'  => "0",
          
'5' => "0"
                       
);

$p 1;
 for(
$i=1;$i<=5;$i++) { 
    
$r rand (1,5);
    
$cheak['$r'] = $cheak['$r']++; 
 if(
$cheak['$r'] != $p) { 
    
$cheak['$r'] = $cheak['$r']--;
    
$r rand (1,5);
    
$cheak['$r'] = $cheak['$r']++; 
}
  echo 
$r."<br />";
 } 
עכשיו אני יסביר את המטרה שלו .
הוא רץ 5 פעמים .(בשביל שיהיה את ה5 מספרים.)
אח"כ הגרלת מס' רנדומלי .
לדוגמא יצא 3 , אז במערך cheak['3']; יהיה 1.
ואז הוא ידפיס על המסף את המספר הזה .
אח"כ בסיבוב השני של הלולאה אם ברנד יצא עוד פעם 3 , אז הcheak['3']; יהיה 2.
ואז בתנאי הוא יבדוק שבמקום ש cheak['3']; לא שווה ל1.
אז הוא יוריד את ה 2 ל 1 .
ואז הוא יגריל מס' רנדומלי אחר , שכאשר יצא נגיד 4 הוא יעשה לו ++ . וידפיס אותו וככה הקוד שרציתי יעבוד .
עכשיו יש לי מזה בעיה עם זה תמיד יוצאים לי פלטים כגון:
2
2
4
5
5

למה ?!
  Reply With Quote
ישן 31-03-06, 20:10   # 2
mlnn
משתמש - היכל התהילה
 
mlnn's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בחדר של חני
גיל: 35
הודעות: 4,417

mlnn לא מחובר  

אתה רוצה שהמספרים יכילו רק את 12345?
או שאפשר גם מספרים אחרים?

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

קוד:
for($x=1;$x<=5;$x++) { 
for($i=1;$i<=5;$i++) { 
echo rand (1,5);
}
echo "<br>";
}
__________________
.

בחורות ערומות

Last edited by mlnn; 31-03-06 at 20:18..
  Reply With Quote
ישן 31-03-06, 20:44   # 3
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 33
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

תנסה ככה:

PHP קוד:
<?
$min 
1;
$max 5;
$rand[1] = rand ($min,$max);
$rand[2] = rand ($min,$max);
$rand[3] = rand ($min,$max);
$rand[4] = rand ($min,$max);
$rand[5] = rand ($min,$max);
while(
$rand[1] == $rand[2] OR $rand[1] == $rand[3] OR $rand[1] == $rand[4] OR $rand[1] == $rand[5])
{
$rand[1] = rand ($min,$max);
}
while(
$rand[2] == $rand[1] OR $rand[2] == $rand[3] OR $rand[2] == $rand[4] OR $rand[2] == $rand[5])
{
$rand[2] = rand ($min,$max);
}
while(
$rand[3] == $rand[2] OR $rand[3] == $rand[1] OR $rand[3] == $rand[4] OR $rand[3] == $rand[5])
{
$rand[3] = rand ($min,$max);
}
while(
$rand[4] == $rand[2] OR $rand[4] == $rand[3] OR $rand[4] == $rand[1] OR $rand[4] == $rand[5])
{
$rand[4] = rand ($min,$max);
}
while(
$rand[5] == $rand[2] OR $rand[5] == $rand[3] OR $rand[5] == $rand[4] OR $rand[5] == $rand[1])
{
$rand[5] = rand ($min,$max);
}
$final "$rand[1]$rand[2]$rand[3]$rand[4]$rand[5]";
echo 
"$final";
?>
סקריפט טיפה מסובך לכתיבה, אבל להבנה די קל,
אבל זה הרעיון היחיד והיעיל שמצאתי, הוא בחיים לא יחזיר מספר פעמים,
רצוי לאנקלד את הקובץ כי הוא יסבך לך את הסקריפט.
וחשוב לציין שהוא לא לוקח כ"כ הרבה זמן לטעינה.

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

דוגמה: http://lol.israel-serv.net/rand.php
שים לב שהוא בחיים לא יחזיר את אותה התוצאה פעמים.

עריכה: הקוד עודכן

Last edited by LosNir; 31-03-06 at 21:03..
  Reply With Quote
ישן 31-03-06, 21:16   # 4
amirs_5
הוסטסניון
 
amirs_5's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ת"א
גיל: 34
הודעות: 2,168
שלח הודעה באמצעות ICO אל amirs_5 Send a message via Skype™ to amirs_5

amirs_5 לא מחובר  

פש ניר אחי תודה רבה, אבל האמת יש לי קצת בעיה עם הקוד ..
לא אמרתי בהתחלה כי זה לא היה חשוב , אבל זה נועד לתפריט שכל פעם מוסיפים דברים , וזה לא יהיה דווקא 5 , יכול להיות 7 או 10 ותמיד לעדכן זה בעיה , אם לא יהיה לי פתרון אני ישתמש בזה תודה רבה
ואם אתה יודע מה הבעיה בקוד שלי כי הוא גם נראה לי בסדר ואני מסתבך איתו כל כך ..
  Reply With Quote
ישן 31-03-06, 21:20   # 5
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 33
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

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

עריכה:

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

Last edited by LosNir; 31-03-06 at 21:22..
  Reply With Quote
ישן 31-03-06, 21:28   # 6
amirs_5
הוסטסניון
 
amirs_5's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ת"א
גיל: 34
הודעות: 2,168
שלח הודעה באמצעות ICO אל amirs_5 Send a message via Skype™ to amirs_5

amirs_5 לא מחובר  

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

עריכה:

למה אתה מתכוון שלא יהיה תמיד חמש?
חמש משתנים? או עד חמש מספרים בכל משתנה?
לא הבנת אחי , אתה עשית קוד מצויין , אבל הוא ל5 .
ואני כל פעם יצטרך להוסיף משהו לתפריט וזה יככול להגיע גם ל 10 ול 12.
כאילו שלא כל פעם אני יעשה
PHP קוד:
$rand[1] = rand ($min,$max);
.........
.........
.........
.........
.........
.........
.........
.........
$rand[12] = rand ($min,$max); 
מבין ?
  Reply With Quote
ישן 31-03-06, 21:31   # 7
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 33
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

ציטוט:
נכתב במקור על ידי amirs_5
לא הבנת אחי , אתה עשית קוד מצויין , אבל הוא ל5 .
ואני כל פעם יצטרך להוסיף משהו לתפריט וזה יככול להגיע גם ל 10 ול 12.
כאילו שלא כל פעם אני יעשה
PHP קוד:
$rand[1] = rand ($min,$max);
.................
$rand[12] = rand ($min,$max); 
מבין ?
אוקיי אז אתה מתכוון מספר משתנים.
כי תיראה, יש חמישה משתנים, בכל משתנה מוצב ערך רנדומלי בין 1 ל 5,
לאחר מכן יש לולאות שבודקות אם המספר חזר פעמים, אם כן אז הם מציבים שום ערך רנדומלי עד ששום מספר לא יוצא פעמים, אחר כך אני מכניס את כל המשתנים למשתנה אחד ומדפיס אותו,
ככה שאם תשים עוד משתנה ועוד לולאה, אז הקוד שהוא ידפיס יהיה פשוט יותר ערוך, לדוגמה:

במקום להדפיס: 123456
הוא יכול להדפיס: 1234563
מבין?
ככה שהמספר הנוסף שהוא יכניס יהיה 3, והערך שלו יהיה רק מ 1 עד 5,
אני מקווה שהבנת ושזה בסדר בשבילך, אני מתחיל עכשיו בעריכת הקוד.


עריכה:

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

Last edited by LosNir; 31-03-06 at 21:38..
  Reply With Quote
ישן 31-03-06, 21:35   # 8
amirs_5
הוסטסניון
 
amirs_5's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ת"א
גיל: 34
הודעות: 2,168
שלח הודעה באמצעות ICO אל amirs_5 Send a message via Skype™ to amirs_5

amirs_5 לא מחובר  

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

במקום להדפיס: 123456
הוא יכול להדפיס: 1234563
מבין?
ככה שהמספר הנוסף שהוא יכניס יהיה 3, והערך שלו יהיה רק מ 1 עד 5,
אני מקווה שהבנת ושזה בסדר בשבילך, אני מתחיל עכשיו בעריכת הקוד.
לאא, אסור שיהיה 3 פעמים.
תחשוב ש3 זה בתפפריט משחקים .
אז פתאום יהיה :
תוכנות
משחקים
סרטים
משחקים
גראפיקה..
כאילו זה יופיע לי פעמיים XD וזה בעיה .. =]]
  Reply With Quote
ישן 31-03-06, 21:40   # 9
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 33
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

ציטוט:
נכתב במקור על ידי amirs_5
לאא, אסור שיהיה 3 פעמים.
תחשוב ש3 זה בתפפריט משחקים .
אז פתאום יהיה :
תוכנות
משחקים
סרטים
משחקים
גראפיקה..
כאילו זה יופיע לי פעמיים XD וזה בעיה .. =]]
מצטער זו היתה פשוט דוגמה לא טובה..
נגיד במקום 3 בסוף יהיה 8
  Reply With Quote
ישן 31-03-06, 21:42   # 10
amirs_5
הוסטסניון
 
amirs_5's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ת"א
גיל: 34
הודעות: 2,168
שלח הודעה באמצעות ICO אל amirs_5 Send a message via Skype™ to amirs_5

amirs_5 לא מחובר  

ציטוט:
נכתב במקור על ידי LosNir
מצטער זו היתה פשוט דוגמה לא טובה..
נגיד במקום 3 בסוף יהיה 8
למה 8 ולא 7 ?!
  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. הזמן כעת הוא 01:44.

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