Jump to content
  • הצטרפו למשפחה

    היי, היי אתה (או את) שם!

    אנחנו יודעים, נחמד להיות אנונימי, ולמי בכלל יש כוח להירשם או להיות עכשיו "החדשים האלה".

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

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

עזרה עם C בסיסית, כיתה יג'.


dir="rtl" style="text-align:right;"> שימו לב! השרשור הזה בן 4454 ימים, שזה ממש ממש הרבה ולכן הוא ננעל.

אם אתם פותחי השרשור ו/או יש לכם עדכון רלוונטי לנושא - פנו לאחד המנהלים ונפתח את השרשור חזרה לתגובות.

פוסטים מומלצים

פורסם

אני צריך קצת עזרה בC,

בכיתה יא' ויב' ידעתי ממש טוב וכתבתי תוכניות,

גם הפרויקט שלי כלל תוכנית שאני כתבתי.

אני מעלה דוגמאות של תרגילים שאני יתקל בהם במבחן החיצוני שלי בקרוב,

אשמח לעזרה מהמתכנתים שבינינו :)

 

אני כבר לא זוכר איך ניגשים לשאלה, מה מי מו מה.

אסבמלר אני כבר איכשהו מבין.

 

(אל תתיחסו לקשקושים שם).

IMG_0160.jpg

IMG_0161.jpg

IMG_0162.jpg

IMG_0163.jpg

IMG_0164.jpg

Renault Clio MK2 ph1 1.4RT

Renault Clio Sport 172RS 2.0

 

FRANCE

פורסם

תתחיל בזה (הפורום קצת דופק את הטקסט, אבל נראה לי שהכוונה ברורה :wink: )

 

/*



* Completes one 90 degree rotation cycle for a given i,j

*/

private static void shift90(int[][] input, int arraySize, int i, int j) {

int start_i = i;

int start_j = j;

int cur_i = i;

int cur_j = j;

int next_i = -1;

int next_j = -1;

int curElement = input[cur_i][cur_j];

do {

next_i = cur_j;

next_j = arraySize - cur_i;

 

int temp = input[next_i][next_j];

input[next_i][next_j] = curElement;

curElement = temp;

 

cur_i = next_i;

cur_j = next_j;

 

} while (!(next_i == start_i && next_j == start_j));

BMW 325i E46

שלום, רוכב.

נא לא לבקש ממני גישה לאוף טופיק

פורסם

איזה שיעמום, הצילו.

תהיה חזק.

איזה מזל שאני כבר לא שם.

רגע, בעצם, אף פעם לא הייתי שם.

ניסית להריץ את התוכניות בגוגל? אולי stackoverflow יעלה משהו. :twisted:

אוכל את הכובע שהגיש לי avergel ומודה קבל עם ועדה שלפעמים מחשבים של אסוס מחזיקים מעמד אפילו מעל לשנה שלמה - אם נזכרים לעדכן את ה-bios.

פורסם

רוני להבא בשביל שהקוד יישאר ברור על הפורום תשתמש בתגית Code בעורך המלא זה כפתור עם סימן #.

 

לגבי השאלה אם מערך הוא סימטרי:


[left]
bool IsSymmetrical(int  arrData[], int nSize)
{
bool bRes=true;
int i=0;
for (; IbRes=arrData[i]==arrData[nSize-1-i];

return bRes;
}
[/left]

 

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

נעבור על איברי המערך עד לחצי מגודל המערך, ורק כל עוד המערך היה סימטרי עד עכשיו.

משתנה התוצאה שלנו יהיה אמת אם האיבר הן שווה לאיבר הi מהסוף.

לבסוף נחזיר את משתנה התוצאה.

 

לשים לב לדברים הבאים:

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

2. במקרה שמצאנו איברים לא שווים משתנה התוצאה יקבל ערך שקר והלולאה תסתיים ויוחזר ערך שקר.

אם יצאנו מהלולאה עקב כך שערך i הגיע לחצי מאורך המערך כל האיברים שווים ומשתנה התוצאה יחזיר אמת.

3. אין אתחול של i בפקודת הfor כי אתחלנו אותו שורה לפני וכן יש ; המסמן שאין אתחול משתנים בלולאה.

4. במקרה ומצאנו איברים שסותרים את הטענה שהערך סימטרי אין צורך להמשיך לבדוק.

5. השימוש ב I++ במקום ++i חוסך קצת זמן ריצה.

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

 

בגלל מחסור בסוללה אמשיך מחר אם לא יקדימו אותי.

ליאור

מאזדה 3 2.0 "ספיריט" 2020

בתאריך 12.5.2021 בשעה 13:54, יבגניפ כתב:

באמת. אני אוהב אותך כמו שאתה.

יבגני כבר לא אוהב אותי 😭

פורסם

טוב ניסיתי לענות על שאלה 2 מהמגן, אבל יש בלאגן בבית ואני עייף ועוד מחכה על הקו, נקווה שהבנתי נכון ולא טעיתי.

חברה מה עם קצת להזיח?




[left]#define beginAdd 0x40
#define endAdd 0x50
int counter = 0 ,sum = 0;
unsigned char *p = beginAdd; /* address of the first memory block*/
while ( p != endAdd)
{
   counter++;
   sum += *p;
   p++;
}
*p = sum / counter;  /* maybe use modulo?*/
counter = *p;
p = beginAdd;
while ( p != endAdd)
{
   if (*p > counter)
       P1++;
   p++;
}[/left]


 

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

How'd you get so strong mcduck?

- By lifting money bags

פורסם

אוקיי עכשיו אני קצת יותר פנוי לעזור בשאר:

 

מבחן מגן 2013 השאלה הראשונה באסמבלי, אמרת שאתה יודע טוב אסמבלי לא?

שאלה 2 דוד ענה (והבנת נכון את העניין של ה-P1)

שאלה 3:

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

הוראה 6 - בדיקה האם הביט האחרון (LSB - Least Significant Bit) דלוק

הוראה 16 - קריאה לפונקציה עם הערך של P1 שמכיל את כל המפסקים.

הוראה 18 - הדלקת לד ספציפי, עם הלולאה בהוראה 17 אנחנו בעצם מדליקים מספר לדים כמספר המפסקים הדלוקים.

ב. ראה א הוראה 1.

ג. לדים 1-4 יידלקו, בין הפקודות 16-17-18 אין שמירה של מצב הלדים המקורי, אלא מספר הלדים הדלוקים באופן כללי, פקודה 16 תחזיר ערך 4 (מכייון שארבעת המספקים הגבוהים דלוקים), ופקודות 17-18 ידליקו את ארבעת הלדים הראשונים (ריצה עד w שערכו 4).

ד. כלום ושום דבר לא ישתנה.

 

שאלה 4 קצת לא ברורה, אין IE או IT בשרטוט, הפקודות נראות חסרות טעם (while(1; זה לולאה אינסופית בלי פקודות בתוכה.

א. הוראה 1 - הגדרת מערך של עשרה bytes המכיל את הערכים 3F, 06, 5B, 4F, 66, 6D, 7D, 07, 7F, 6F.

 

מבחן מגן 2013 (השני)

שאלה 1 אסמבלי

שאלה 2:

א. הוראה 7 - סוגריים שפותחים את פונקציית ה-Main (?)

הוראה 8 - הצבה ב-TMOD את הערך 01 (?)

הוראה 13 - לולאה אינסופית ובתוכה פקודה של הצבת הערך led (בעצם 01) בתוך P2

הוראה 22 - הזזה שמאלה של ה-bits במשתנה led בדיוק ביט אחד שמאלה.

ב, ג, לא מכיר את צורת העבודה הזאת עם הגבישים, אולי אם תסביר נוכל לעזור

 

שאלה 3 עניתי מקודם.

 

שאלה 4:

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

בהנחה שכל 8 המפסקים מתקבלים כקלט אחד (נניח P1).

ואז lower_sum = port_sw(P1 & 0x0F);

higher_sum = port_sw(P1 & 0xF0);

ואז if lower_sum > higher_sum

שים בתצוגה 1

אחרת שים בתצוגה 0.

 

ניתן גם לוותר על lower_sum & higher_sum ולשים ישר את הקריאות לפונקציות, יחסוך קצת בזיכרון (2 משתנים).

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

ליאור

מאזדה 3 2.0 "ספיריט" 2020

בתאריך 12.5.2021 בשעה 13:54, יבגניפ כתב:

באמת. אני אוהב אותך כמו שאתה.

יבגני כבר לא אוהב אותי 😭

פורסם

פרויקט ״עדן״.

 

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

Renault Clio MK2 ph1 1.4RT

Renault Clio Sport 172RS 2.0

 

FRANCE

×
×
  • תוכן חדש...