rendered paste bodytypedef struct{ int mispar_shulhanot, levad_beyahad, // היה מקודם levad_lehud... באסה שלבד ולחוד זה אותו דבר :P taken, students, classCode; // משתנים שבן הוסיף (-;} kita; int main(){ typedef kita kitot[40]; int i; for(i=0; i<40; i++) { printf ("hakled mispar shulchanot (kita %d): ", i+1); scanf (" %d", &kitot[i].mispar_shulhanot); } // מציבים כמה משתנים int classCode = -1, numStudents = -1, levad_beyahad = -1; // בזמן ש... כל המשתנים שלמעלה לא שווים 0 while(classCode != 0 && numStudents != 0 && levad_beyahad != 0) { // נרשום שאנחנו מחכים לקלט.. קצת הנדסת אנוש לא תזיק :P printf("INPUT [classcode(1-100) students(N) levad/]: "); // נסרוק את הקלט ונכניס למשתנים scanf("%d %d %d", &classCode, &numStudents, &levad_beyahad); // נציב משתנה שיגדיר אם מצאנו או לא מצאנו כיתה. כשנמצא כיתה נציב את הערך שלו למספר הכיצה // ובסוף לולאת ה for שבקרוב תבוא נבדוק אם מצאנו (-1) או לא מצאנו (N>-1) כיתה. int found = -1; // נעבור בין הכיתות ונחפש כיתה עם מספיק מקומות for(i = 0; i < 40; i++) { // אם כבר לקחו את הכיתה שהגענו אליה, תמשיך בלולאה if(kitot[i].taken == 1) continue; // אם מספר השולחנות מספיק (נכפול אותו בלבד_לחוד כי הרי זה שווה 1 אם // תלמיד אחד לשולחן או 2 אם 2 תלמידים לשולחן - נקבל תוצאה רצויה) // אז בואו נשתמש בכיתה הזו if((kitot[i].mispar_shulhanot * levad_beyahad) >= numStudents) { // יש, מצאנו (-: נגדיר את הערך של found ל 1 found = i; kitot[i].classCode = classCode; kitot[i].taken = 1; kitot[i].students = numStudents; kitot[i].levad_beyahad = levad_beyahad; // טוב סיימנו פה, צריך לשבור את הלולאה אין טעם להמשיך לחפש break; } } // אם found גדול מ -1 אז מצאנו כיתה, נציג פלט מתאים if(found > -1) { // מצאנו כיתה printf("Found and assigned room %d for this class.", found + 1); } else { // לא מצאנו כיתה printf("No rooms available for this class."); } } // נציג הודעה שסיימנו את התוכנית. שוב - הנדסת אנוש :) printf("Program ended.");}