הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   צריך עזרה בכתיבת אלגוריתם (https://hosts.co.il/forums/showthread.php?t=43505)

oded123 13-04-07 15:58

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

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

Meir 13-04-07 16:21

אני לומד C++ עכשיו כתבתי תוכנית קטנה יכול להיות שהיא לא הכי יעילה

קוד:

#include <iostream.h>
#include <conio.h>

int main()
{
  int number;
  cout<<"enter number:";
  cin>>number;
  for(int i = 1;i<= number;i++)
  {
    if(i*(i+3) == number)
    {
      cout<<"match: "<<i<<" and "<<i+3;
    }
  }
  getch();
  return 0;
}

ד"א אתה צריך לעשות בדיקה לקלט אם הוא מספר שלם וחיובי

oded123 14-04-07 09:22

אההה
 
תודה רבה אחי

ali_napso 14-04-07 12:49

ציטוט:

נכתב במקור על ידי elbaz.maor (פרסם 458558)
אני לומד C++ עכשיו כתבתי תוכנית קטנה יכול להיות שהיא לא הכי יעילה

קוד:

#include <iostream.h>
#include <conio.h>

int main()
{
  int number;
  cout<<"enter number:";
  cin>>number;
  for(int i = 1;i<= number;i++)
  {
    if(i*(i+3) == number)
    {
      cout<<"match: "<<i<<" and "<<i+3;
    }
  }
  getch();
  return 0;
}

ד"א אתה צריך לעשות בדיקה לקלט אם הוא מספר שלם וחיובי

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


כל הזמנים הם GMT +2. הזמן כעת הוא 10:27.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ