נשלח בתאריך: 31 January 2009 בשעה 16:10 | | IP רשוּם
|
|
|
|
אז ככה, עשיתי 2 שליש מהבעיה והשליש השלישי עוד לא כל כך הצלחתי, לכן אני צריך את עזרתכם. הנה השאלה:
א. כתבי שגרה בפסקל המקבלת שלושה מספרים שלמים ומחזירה את הגדול מביניהם.
ב. בביה"ס "אל-אמל"
מתקיימים 3 מבחנים במדעי המחשב במהלך המחצית .
ציוני המבחנים מאוחסנים במערך חד- ממדי כאשר לכל
תלמיד מוקצים 3 תאים עוקבים.
פתח ויישם אלגוריתם הקולט למערך את ציוני כל
המבחנים (שלושה ציונים) של 25 תלמידי כיתה יא.
על האלגוריתם למצוא עבור כל
תלמיד את ציונו הגבוה ביותר, ולהציג כפלט את
הציון הנמוך ביותר מבין כל הציונים הגבוהים
של התלמידים ואת מספרו הסידורי של התלמיד
או התלמידים הללו.
הערה: חובה להשתמש בשגרה שכתבת בסעיף
א'.
לדוגמא, עבור הציונים הבאים (של שלושה תלמידים):
60
|
70
|
50
|
70
|
85
|
90
|
70
|
55
|
50
|
פלט: הציון הנמוך מבין הגבוהים הוא: 70
מספרי התלמידים
: 3 1
הנה הקוד שלי :
[CODE]
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication101 { class Program { public static int big(int a, int b, int c) {
if (a <= b) a = b; if (a <= c) a = c; return a;
}
static void Main(string[] args) { int min,i; int[] ar = new int[9]; for (i = 0; i < 7; i=i+3) { Console.WriteLine("{0} student", (i + 1) / 3 + 1); ar[i] = int.Parse(Console.ReadLine()); ar[i+1] = int.Parse(Console.ReadLine()); ar[i+2] = int.Parse(Console.ReadLine()); }
min = big(ar[0], ar[1], ar[2]); for (i = 3; i < 9; i=i+3) { if (big(ar[i],ar[i+1],ar[i+2])<=min) min = big(ar[0], ar[1], ar[2]); } Console.WriteLine(min); Console.ReadLine();
} } }
[CODE/]
הבעיה אצלי זה מספרי התלמידים, חשבתי לבנות מערך חדש שיכיל את האינדקס של התלמיד,אבל יש לי בעיה אם אצל התלמיד הראשון יש ת'ציון הגבוה ביותר הנמוך ביותר. אני לא מצליח לשמור אותו בשום אופן! ועוד בעיה שנוצרת זה כאשר, אצל אותו תלמיד כבר אין את הציון הנמוך ביותר :<< אם זה היה רק תלמיד אחד אז זה היה מקל ממשששששש על הפתרון! מישהו עם עצות? וד"א המערכים קטנים כי התאמתי אותם לדוגמא, כדי שאני אוכל לבדוק את עצמי, אל תתייחסו לגודל. תודה,שבת שלום.
__________________
|