עבור לתוכן

צריך עזרה ב-c#

Featured Replies

פורסם

אני יודע שהתוכנית הזאת קולטת מספר שלם ומחזירה "בום" אם הוא מתחלק ב-7 ללא שארית.

לא הבנתי את ההגיון שבה..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num;
Console.WriteLine("enter num :");
num = int.Parse(Console.ReadLine());
if (num % 7 == 0)
Console.WriteLine("boom");
else if (num % 7 ==5)
Console.WriteLine("boom");
else if(num /7==7)
Console.WriteLine("boom");





}
}
}

תודה לעזורים :xyxthumbs: :xyxthumbs: :xyxthumbs:

פורסם

התוכנה הזאת לא בדיוק עושה את העבודה שהיא אמורה לעשות.

השורה הזאת בודקת אם יש שארית כשמחלקים ב-7 (כלומר בודקת אם המספר מתחלק ב-7, כמו שאמרת):

 if (num % 7 == 0)

השורה אחריה בודקת אם השארית היא 5 - לא ברור לי איך זה קשור :nixweiss:

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

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

פורסם
  • מחבר

סליחה טעות שלי.. זה התוכנית הזאת.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num;
Console.WriteLine("enter num :");
num = int.Parse(Console.ReadLine());
if ((num % 7 == 0) || (num / 10 == 7) || (num % 10 == 7))
Console.WriteLine("boom");
}
}
}

לא הבנתי את השורה של התנאי...

פורסם

יכול להיות שיש לך טעות? אתה לא צריך איזו לולאה?

אתה בודק אם זה מתחלק ב 7, הספרה האחרונה היא 7 או אחרי חלוקה ב 10 אתה מקבל

אם לא תפעיל לולאה שמחלקת ב 10 אתה מגביל את עצמך לתוכנית תקינה עד 104

פורסם

בקיצור, התוכנה עובדת רק עבור מספרים דו ספרתיים.

הדבר הנכון לעשות הוא לקרוא את הקלט לתוך מחרוזת, לבדוק אם המחרוזת מכילה את התו '7', ואז להמיר את המחרוזת למספר ולבדוק אם הוא מתחלק ב-7.

פורסם
  • מחבר

^^^ למה מגביל עד 104??

תבדוק בעצמך ותראה שזה עובד גם אחרי זה....

פורסם

גם לי ברור איך הגעת ל-104. הבעיה היא שהחל מ-100, זה ימצא רק מספרים שמתחלקים ב-7 או מסתיימים ב-7, ולא מספרים שמופיעה בהם הספרה 7 (לדוגמה, 171 לא יעבוד).

פורסם
  • מחבר

^^^ בגלל שהוא לא מתחלק ב-7....

בדקתי גם את התוכנית הראשונה שהבאתי פה וגם היא עובדת....

פורסם

במשחק 7 בום, אומרים בום אם המספר מתחלק ב-7 ללא שארית, או שהוא מכיל את הספרה 7.

המספר 17 לדוגמה לא מתחלק ב-7, אבל כן אומרים עליו בום.

בשביל לבדוק אם המספר מתחלק ב-7, כל מה שצריך לעשות הוא לבדוק האם num % 7 == 0.

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

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

פורסם
  • מחבר

^ לא דיברתי על המשחק 7 בום...

התכנית רק צריכה לבדוק את המספר מתחלק ב-7...

בשביל לבדוק אם המספר מתחלק ב-7, כל מה שצריך לעשות הוא לבדוק האם num % 7 == 0.

זה בדיוק התנאי שלא הבנתי...

פורסם
  • מחבר

אוקיי הבנתי..

תודה רבה לכולם...

פורסם

זה נקרא מודולו, המשמעות היא שארית החלוקה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים