ABA


"עזרה בשאלה מערכים דו מימדיים."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21326 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21326
nanya
חבר מתאריך 29.6.15
2 הודעות
   19:13   29.06.15   
אל הפורום  
  עזרה בשאלה מערכים דו מימדיים.  
 
   אשמח עזרה בפתרון התרגיל הבא:

בכיתה 50 תלמידים, יש לכתוטב תוכנית שקולטת לתוך מעד דו מימדים 10 ציונים לכל תלמיד והתכנית תחשב:
א. ממוצע התלמיד המצטיין.
ב. לכל תלמיד את הציון המקסימלי והמינמלי.
ג. בכל מקצוע את ממוצע הציונים.

התכנית שהתחלתי:

#include <stdio.h>
void main ()
{
int num_of_students = 50;
int num_of_courses = 10;
int grades;

for(int course=0;course < num_of_courses; course++)

}

כמובן שזה בשפת c
תודה לכולם !!!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב hank_mudy 29.06.15 19:34 1
     תודה הנה הקוד שכתבתי אשמח למי שיכול לעזור לתקן אותו nanya 01.07.15 14:18 3
         כתבתי לך מחדש את הקוד aCoZz  01.07.15 22:30 4
             הסבר קטן כדי שתבין איפה הטעיות שלך + תיקון קטן בהדפסה aCoZz  02.07.15 00:10 5
  תצייר על נייר את הטבלה ואז יהיה לך הרבה יותר קל Alonso  29.06.15 19:58 2

       
hank_mudy
חבר מתאריך 28.8.12
1186 הודעות
   19:34   29.06.15   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 29.06.15 בשעה 19:38 בברכה, hank_mudy
 
ממליץ לך לפתוח youtube וללמוד קצת על לולאות מקוננות
בגדול,
יש לך מערך של 50X10
כל שורה מייצגת את הציונים במקצוע מסויים. כל עמודה מייצגת תלמיד
א. תיצור משתנה ממוצע ומשתנה זמני ופשוט תעבור על כל טור, תסכום את הציונים ותחלק ב10. לאחר מכן תשווה את המס' שיצא עם הממוצע. וכל פעם אם המשתנה הזמני גדול יותר תכניס אותו למשתנה ממוצע.

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

ג. תסכום את כל הציונים של כל מקצוע(שורה) ותחלק ב50

בהצלחה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
nanya
חבר מתאריך 29.6.15
2 הודעות
   14:18   01.07.15   
אל הפורום  
  3. תודה הנה הקוד שכתבתי אשמח למי שיכול לעזור לתקן אותו  
בתגובה להודעה מספר 1
 
   קודם כל תודה על ההסבר, אשמח אם תעבור על הדרך שכתבתי ותגיד לי מה לתקן..
אני יודע שזה לא מושלם אבל זה הכיוון ואשמח לתיקונים ממי שיכול כדי שהתוכנית תעבוד.

להלן מה שכתבתי:

#include <stdio.h>
void main ()
{
Int i,j = 0;
int students = 50;
int courses = 10;
int grades;
int avg_s=0, a, min=100, max=0;
for ( i=0; i< students; i )
{
for ( j=0; i< courses; j )
scanf("%d", &grades);
}
for ( i=0; i< students; i )
{
for ( j=0; i< courses; j )
{
a=a grades;
}
a= a/10;
if (avg < a)
avg_s = a;
a=0;
}
printf("%d\n", avg_s); // הדפסת הממוצע של התלמיד המצטיין – א'.


for ( i=0; i< students; i )
{
for ( j=0; i< courses; j )
{
if (min > a)
min = a;
if (max < a)
max = a;
}
printf("%d\n", min); // הדפסת המינימום של כל תלמיד - ב'
printf("%d\n", max); // הדפסת המקסימום של כל תלמיד – ב'
max = 100;
min = 0;
}

for ( j=0; i< courses; j )
{
for ( i=0; i< students; i )
{
a=a a;
}
a=a/50;
printf("%d\n", a); // הדפסת הממוצע של כל מקצוע – ג'.
}


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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aCoZz 
חבר מתאריך 19.7.06
17692 הודעות
   22:30   01.07.15   
אל הפורום  
  4. כתבתי לך מחדש את הקוד  
בתגובה להודעה מספר 3
 
   https://rotter.name/User_files/nor/55943fbe7d9681e6.txt

עשית שם בלגן מטורף תעבור טוב טוב על הקוד ותלמד מהטעויות שלך
כי יש לך המון בעיות.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
aCoZz 
חבר מתאריך 19.7.06
17692 הודעות
   00:10   02.07.15   
אל הפורום  
  5. הסבר קטן כדי שתבין איפה הטעיות שלך + תיקון קטן בהדפסה  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 02.07.15 בשעה 00:49 בברכה, aCoZz
 
היית צריך לעבוד עם מטריצה
ולא יצרת משתנה שהוא מערך דו מימדי
אתה יכול להגדיר אותו
או ככה :
int **m_StudentMatrix
כלומר שזה מערך של מערכים מצביע למערך שמכיל בתוכו מצבעים לעוד מערכים

או שניתן להגדיר אותו ככה :
int m_StudentMatrix


אין שום הגיון ליצור לולאה שמכניסה כל כך הרבה ערכים
במקרה שלך זה 50 * 10
אבל עם יש לך 500 תלמידים אתה לא תכניס 5000 קלטים ידנית
ניתן ליצור פונקציה שמג'נרתת ערכים או במקרה שלי
שמתי לך RANDOM אופיני ל C

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

https://rotter.name/User_files/nor/5594607c3e96546b.txt


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Alonso  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 20.9.12
4045 הודעות, 5 פידבק
   19:58   29.06.15   
אל הפורום  
  2. תצייר על נייר את הטבלה ואז יהיה לך הרבה יותר קל  
בתגובה להודעה מספר 0
 
   בגדול זה תרגיל ממש קל...
אתה צריך למלא את הטבלה בנתונים ופשוט לעבור על השורות/עמודות


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net