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

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



  #1  
ישן 13-02-2008, 02:49
צלמית המשתמש של linuxsboot
  linuxsboot linuxsboot אינו מחובר  
 
חבר מתאריך: 15.04.06
הודעות: 18,034
כמה שאלות ב c language ועוד כמה נושאים, שלא מצאתי תשובות בגוגל להן או עם המהדר.

1, לאיזו head שייכת הפונקציה flashall?
2, האם השימוש הזה חוקי?
קוד:
float temp=0; int cnt; temp= div(temp,(float) cnt);

דגש על ההמרה
3, האם ניתן לשחרר יותר מ pointer אחד עם:
קוד:
free( pointer );

האם ניתן לשחרר איתו שתיים או יותר מצביעים?
קוד:
free( pointer1,pointer2 );
לדוגמא.
4, האם ניתן להשתמש ב realloc ו malloc בצורה הבאה:
קוד:
(*p)=(int*) realloc (p,n*sezeof(int));

במקום למשל:
קוד:
p=(int**) realloc (p,n*sezeof(int*));

אם ישנן עוד צורות עבודה בהן ניתן לעבוד עם realloc ו malloc, אם התוכלו לפרט עם דוגמאות קצרות בבקשה יהיה עדיף.
5, כמה דרכים קיימות להכניס או לקבל מידע מתוכן שה pointer עצמו מצביע עליו עם שני **?
6, איזו פעולה לוגית מתבצעת בפקודה הבאה:
קוד:
printf( "%d#o\n",x);

דגש על הסימנים האלה:
קוד:
#o

7, המרות בסיסים, כיצד אני ממיר מ bin ל dec או hex אחרי שיש יותר מביט? תשע סביות ומעלה להמרה. קישור המסביר את השיטה או הסבר קצר יספיקו.
8, הפונקציה strncpy, ראו שני דוגמאות:
ראשונה:
קוד:
/* strncpy example */ #include <stdio.h> #include <string.h> int main () { char str1[]= "To be or not to be"; char str2[6]; strncpy (str2,str1,5); str2[5]='\0'; puts (str2); return 0; }

פלט:
קוד:
to be

שנייה:
קוד:
str2[]=" bye bye"; dest[256]="hey world"; strncpy(dest,str2,3); // -> dest is: "bye world"

את שאר הפונקציות הבנתי, זאת לא ברורה עקב שני דוגמאות שונות או שחסרות לי שעות שינה ואני צריך לישון ולקרוא את זה שוב
9, אילו פונקציות יש ל conio.h? לא מצאתי עליו מידע בגוגל כמו על שאר ה head. אילו פונקציות יש לו, קישור יועיל מאוד.
10, מה סדר הפעולות בשורה הזאת?
קוד:
z=x+y<x-y;
סוגריים תמיד ראשונות ואחרי הן כפל, אך מה קורה במשפט כזה למשל?
למען הדוגמא
x=2
y=4
ממתין לתשובות ולילה טוב לכולם.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
will you marry me nesli barda? Operating system: Linux The day Microsoft & apple makes a product that does not suck will be the day they start making vacuum cleaners. say no to Apple&Facebook&MS&Samsung IL&Nokia&Hot&Yes,but say yes to Google

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 13-02-2008, 11:29
  משתמש זכר yoavmatchulsky yoavmatchulsky אינו מחובר  
 
חבר מתאריך: 15.08.06
הודעות: 1,561
שלח הודעה דרך ICQ אל yoavmatchulsky שלח הודעה דרך MSN אל yoavmatchulsky Facebook profile
בתגובה להודעה מספר 1 שנכתבה על ידי linuxsboot שמתחילה ב "כמה שאלות ב c language ועוד כמה נושאים, שלא מצאתי תשובות בגוגל להן או עם המהדר."

1) לספריות קוראים header ולפונקציה קוראים flushall והיא נמצאת בתוך stdio.h

2) כן, זה נקרא casting. עדיף לך להשתמש בdouble כשאתה עושה מעבר מint. (אם אני זוכר טוב יש ערכים שלמים מסוימים שאי אפשר לייצג בדיוק בfloat, אלא רק ע"י קירוב, והdouble הקירוב הוא קרוב יותר)

3) לא. free זו פונקציה שמקבלת פרמטר יחיד

4) א) sizeof ולא sezof
4) ב) אפשרי לעשות את שניהם, אבל זה ייתן לך דברים שונים לחלוטין.
בשורה הראשונה, אתה חייב ש P יהיה כבר מוגדר, כיוון שאתה מכניס ל *p את התוצאה (זותומרת אתה מכניס למקום בזכרון שP מצביע אליו. אם P הוא NULL, אז אתה תנסה להכניס לזכרון במקום 0).
בשורה השנייה אתה מגדיר את P להיות מערך של N פוינטרים.
אם אתה רוצה להקצות דינמית מערך דו מימדי, תנסה לעשות משהו כזה:
קוד:
int** p = (int**) malloc (matrixSize * sizeof(int*)); for (i = 0; i < matrixSize; ++i) p[i] = (int*) malloc(matrixSize * sizeof(int));


5) אם יש לך **p, זה אומר שP מצביע לפוינטר שמצביע למידע. לכן כדי להגיע לפוינטר אתה עושה פעם אחת כוכבית, וכדי להגיע למידע עצמו אתה עושה פעם אחת כוכבית על הפוינטר. סך הכל - **p

6) גוגל:
Used with o, x or X specifiers the value is preceeded with 0, 0x or 0X respectively for values different than zero.
זה אומר שלפני המספר זה יוסיף 0

7) זה אלגוריתמים פשוטים יחסית. בטוח שלא חיפשת בגוגל?

8) strncpy מעתיקה מספר של N בתים מהמחרוזת הראשונה לשנייה..

9) ויקיפדיה. שים לב שלא לכל הקומפיילרים יש ספריות שלו

10) באמת מוזר. מה שאני הבנתי מקצת ניסויים זה שהפעולה הבוליאנית (במקרה שלך >) היא האחרונה בסדר. זותומרת שקודם הוא מחשב x + y ואחרכך x - y, ואז הוא בודק אם זה גדול או קטן (ומחזיר תשובה בוליאנית - 0 בשביל לא, 1 בשביל כן).
בכל מקרה, זה לא קריא לכתוב ככה קוד..

הממ.. זהו.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 14-02-2008, 22:37
  לפנים לפנים אינו מחובר  
 
חבר מתאריך: 08.11.07
הודעות: 675
הערות:
בתגובה להודעה מספר 2 שנכתבה על ידי yoavmatchulsky שמתחילה ב "1) לספריות קוראים header..."

לספריות לא קוראים header-ים. הספריות הן הספריות וה-header-ים הם ה-header-ים. אלה הם שני דברים שונים ונפרדים. הספריות הן הבינאריים או קבצי קוד המקור שמכילים את המימושים לפונקציות. ה-header-ים הם קבצי H שמכילים קבוצות של prototype-ים לפי קבוצות, ואפשר לעשות להם ‎#include כדי לחסוך הקלדה של המון prototype-ים לבד.

כנראה שעדיף להשתמש ב-double ולא ב-float כי double הוא סוג שיותר native למחשב, והפעולות איתו פשוט מהירות יותר. בהרבה מקרים פעולות על float-ים נעשות על ידי המרה ל-double, ביצוע הפעולות על ה-double, והמרה בחזרה ל-float. לא יעיל כל כך יחסית לשימוש ב-double ישירות, בוא נאמר (אלא אם כן אתה קצר בזיכרון בצורה שבחיים לא שמעתי עליה).
_____________________________________
"Saying java is nice because it works on all platforms is like saying anal sex is nice because it works on all genders".

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 14-02-2008, 22:33
  לפנים לפנים אינו מחובר  
 
חבר מתאריך: 08.11.07
הודעות: 675
תשובות לכמה מהשאלות
בתגובה להודעה מספר 1 שנכתבה על ידי linuxsboot שמתחילה ב "כמה שאלות ב c language ועוד כמה נושאים, שלא מצאתי תשובות בגוגל להן או עם המהדר."

2. חוקי - כן, זה יתקמפל. השאלה היא האם זה נכון.
אני כמעט בטוח שיש המרה אוטומטית מ-int ל-float (בלי warning), אז אין סיבה שתכתוב את ה-cast בעצמך. כל int מהצורה ‎(-)X שקול ל-float‏ ‎(-)X.0. זו המרה שמתרחשת לבד.

3. כמובן שלא. איפה לא מצאת תשובה לזה?

5. דרך אחת בדיוק: לקחת את מה שנמצא ב-int**‎. לקחת את מה שנמצא ב-int*‎ שאת הכתובת שלו לקחנו קודם. לקחת את מה שנמצא ב-int שאת הכתובת שלו לקחנו קודם. אתה יכול לכתוב את זה בכמה פקודות שתרצה, אבל זה הדבר היחיד שאתה יכול לעשות.
_____________________________________
"Saying java is nice because it works on all platforms is like saying anal sex is nice because it works on all genders".

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

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

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

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

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



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

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

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

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