GammaCyber

כתיבת קוד — שיעור 23

מבוא לשפת C

כל 6 משימות הקוד שנשמרו מהשיעור מופיעות כאן, עם דרישות, דוגמאות וקוד פתיחה. אפשר לכתוב פתרון בעורך המקומי וללחוץ על „בדיקת AI” לקבלת ציון, רמזים והערות.

מטלה 1
שלום עולם

כתבו תוכנית C שלמה שמדפיסה Welcome to Gamma Cyber! וירידת שורה. קמפלו והריצו.

פתרון מטלה 1 ›
#include <stdio.h> int main() { printf("Welcome to Gamma Cyber!\n"); return 0; }
הפתרון נשמר מקומית אוטומטית.
מטלה 2
תיקון הבאג הקלאסי

מצאו ותקנו את השגיאות בקוד הבא:

#include <stdio.h> int main() { int num printf("Enter a number: "); scanf("%d", num); printf("Double is: %d\n", num * 2); return 0; }
פתרון מטלה 2 — 2 שגיאות ›

שגיאה 1: חסרה נקודה-פסיק: int num;

שגיאה 2: חסר & ב-scanf: scanf("%d", &num);

#include <stdio.h> int main() { int num; // תוקן: נקודה-פסיק printf("Enter a number: "); scanf("%d", &num); // תוקן: & לפני num printf("Double is: %d\n", num * 2); return 0; }
הפתרון נשמר מקומית אוטומטית.
מטלה 3
סכום מערך

צרו מערך מספרים שלמים בגודל 5 {10, 20, 30, 40, 50}. כתבו לולאה שסוכמת את כל הערכים ומדפיסה את הסכום.

פתרון מטלה 3 ›
#include <stdio.h> int main() { int arr[5] = {10, 20, 30, 40, 50}; int sum = 0; for (int i = 0; i < 5; i++) { sum += arr[i]; } printf("The total sum is: %d\n", sum); // 150 return 0; }
הפתרון נשמר מקומית אוטומטית.
מטלה 4
סוד תו העצירה

הגדירו מחרוזת. כתבו לולאת while שעוברת אות אחר אות ומדפיסה כל אות בשורה נפרדת — אך עוצרת כשנתקלת ב-\0.

פתרון מטלה 4 ›
#include <stdio.h> int main() { char password[] = "secret"; int i = 0; while (password[i] != '\0') { printf("%c\n", password[i]); i++; } return 0; }
הפתרון נשמר מקומית אוטומטית.
מטלה 5
בדיקת זוגיות

כתבו תוכנית שקולטת מספר שלם מהמשתמש ומדפיסה האם הוא זוגי או אי-זוגי. השתמשו באופרטור %.

פתרון מטלה 5 ›
#include <stdio.h> int main() { int number; printf("Enter an integer: "); scanf("%d", &number); if (number % 2 == 0) { printf("The number is Even.\n"); } else { printf("The number is Odd.\n"); } return 0; }
הפתרון נשמר מקומית אוטומטית.
T2 · בסיסי200 נק'~18 דק'build
צופן קיסר ב-C
כתבו תוכנית C שקוראת מ-stdin מחרוזת (בלי רווחים) ומספר הזזה k, ומדפיסה את הצופן הקיסרי: כל אות מוזזת ב-k מקומות במעגל (A→…→Z→A), שמירה על רישיות; תווים שאינם אותיות נשארים. הזזות שליליות נתמכות.
דוגמאות
HELLO 3 → KHOOR
xyz 3 → abc
Zebra -1 → Ydaqz
פתרון-ייחוס צופן קיסר ב-C ›
#include <stdio.h> #include <ctype.h> int main(){ char s[256]; int k; if (scanf("%255s %d", s, &k) != 2) return 1; for (int i = 0; s[i]; i++){ char c = s[i]; if (isupper((unsigned char)c)) putchar('A' + ((c-'A'+k)%26+26)%26); else if (islower((unsigned char)c)) putchar('a' + ((c-'a'+k)%26+26)%26); else putchar(c); } putchar('\n'); return 0; }
הפתרון נשמר מקומית אוטומטית.