לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #4  
ישן 09-05-2008, 10:06
צלמית המשתמש של maind
  maind maind אינו מחובר  
 
חבר מתאריך: 08.10.02
הודעות: 827
בתגובה להודעה מספר 3 שנכתבה על ידי alonzoe שמתחילה ב "אכן נתקעתי"

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

כלומר אם n = 4 אז יש לך 2 בחזקת 4 אפשריות שזה 16 והטבלה שלך צריכה להכיל את הערכים מ0 עד 15.
אני הייתי עושה משהו כזה:

קוד:
unsigned int n, i, m; puts("Enter a number: "); scanf("%d", &n); m = pow(2, n); //m = 2 ^ n for (i = 0; i < m; i++) { //I = 0 to (m-1) //Convert I to binary }


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

זהירות - ספויילר!
_____________________________________
Error: Keyboard not found
Press F1 to continue

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 11-05-2008, 17:38
צלמית המשתמש של maind
  maind maind אינו מחובר  
 
חבר מתאריך: 08.10.02
הודעות: 827
בתגובה להודעה מספר 5 שנכתבה על ידי alonzoe שמתחילה ב "תודה !!!לא הבנתי"

ציטוט:
במקור נכתב על ידי alonzoe
... מה עושה השורה
קוד:
if (i & b)


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

ה & היחיד זה AND לוגי (כפל בוליאני) בין הסיביות של המשתנה b למשתנה i
נגיד ב b יש את הערך הבינארי הבא (השמטתי עוד כמה אפסים משמאל):
00001000
וב I יש ערך כל שהוא:
abcdefgh (כל אות מסמלת סיבית - 1 או 0)

עכשיו יש לזכור שכפל בולאני עם סיבית שערכה 0 כמו כפל רגיל התשובה היא תמיד 0 לא משנה עם מה כופלים, וכאשר נכפול ב1 התשובה תלוי בסיבית השניה איתה כופלים.

בעקרון (x הוא סיבית - 1 או 0):
x & 0 = 0
x & 1 = x

לפי זה כפל בולאני בין I ל b:
00001000
abcdefgh
=
0000e000

ולכן התשובה תלויה רק בסיבית e שהיא בדיוק הסיבית אליה b מצביע, התשובה תהיה 0 אם e כבויה והתשובה תהיה לא 0 (מספר כל שהוא, ששווה בעצם ל b) וכך התנאי פועל.

b משמש לי כסוג של מצביע לסיבית שכל פעם אני מזיז לסיבית הבאה ועם התנאי למעלה אני בודק האם הסיבית דלוקה או לא.
_____________________________________
Error: Keyboard not found
Press F1 to continue

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:13

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר