ABA


"עזרה בעבודת בית בשפת C"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20989 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20989
BJack לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.03
22979 הודעות, 15 פידבק, 29 נקודות
   20:44   25.11.14   
אל הפורום  
  עזרה בעבודת בית בשפת C  
 
   היי חברה
אמור להיות פשוט לדעתי אבל הסתבכתי...
השאלה:
כתוב תוכנית שבונה טבלת הכפל בצורה מסודרת לדוגמא:

Enter range of the lines:
6
11

Enter range of the columns:
2
5


Your table:

2 3 4 5
------------------------------------
6 | 12 18 24 30
7 | 14 21 28 35
8 | 16 24 32 40
9 | 18 27 36 45
10 | 20 30 40 50
11 | 22 33 44 55

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


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  אתה אמור לעשות לולאות הנה קוד: yonatan  25.11.14 21:25 1
     קודם כל המון תודה לך, BJack 25.11.14 22:27 2
         אוקיי הצלחתי :) BJack 26.11.14 10:58 3

       
yonatan 
חבר מתאריך 21.10.05
931 הודעות, דרג אמינות חבר זה
   21:25   25.11.14   
אל הפורום  
  1. אתה אמור לעשות לולאות הנה קוד:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 25.11.14 בשעה 21:32 בברכה, yonatan
 

void main(){
int i;
int j;

for(i=1;i<=10;i++){
for(j=1;j<=10;j++){
printf("%d ",i*j);
}
printf("\n");
}

}

עכשיו הסבר על הקוד:
קבענו שני משתנים i ו- j
ולאחר מכן פתחנו לולאת פור שמאתחלת את i ל 1 ואז רצה עד 10 ובסוף כל ריצה מעלה את i באחד
בתוכה פתחנו לולאת פור שנייה שפועלת על אותו עקרון רק על j
והמצב שיצרנו הוא בעצם מצב שכזה:
הלולאה הראשונה מתחילה במספר 1
הלולאה שבתוכה מדפיסה את המכפלה של 1 בכל המספרים מ1 עד 10 ואז מסתיימת
לאחר שהיא הסתיימה הלולאה הראשונה יורדת שורה ומעבירה את i למספר 2 וכאן הכל קורה אותו דבר

כל זה קורה עד 10 וככה קיבלת לוח כפל

כל שאר הדברים במה שביקשו במטלה שלך זה כבר קוסמטיות
ופשוט לשנות שזה לא יהיה עד 10 ויהיה עד מספר שביקשו או נקלט מהמשתמש וכדומה..



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
BJack לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.03
22979 הודעות, 15 פידבק, 29 נקודות
   22:27   25.11.14   
אל הפורום  
  2. קודם כל המון תודה לך,  
בתגובה להודעה מספר 1
 
   הייתי דיי קרוב למען האמת, ועדיין נראה לי שאני קרוב אבל עדיין משהו שן לא מסתדר...אני מזין את הקלט והפלט יוצא לי רק השורה הראשונה..משום מה לא ממשיך לכל הטבלה...מה עשיתי לא נכון?
#include <stdio.h>
void main()
{
int i1, i2, j1, j2;
printf("Please enter START number for lines: ");
scanf("%d", &i1);
printf("Please enter END number for lines: ");
scanf("%d", &i2);
printf("Please enter START number for columns: ");
scanf("%d", &j1);
printf("Please enter END number for columns: ");
scanf("%d", &j2);
for (i1; i1 <= i2; i1++)
{
for (j1; j1 <= j2; j1++)
{
printf("%d ", i1*j1);
}
printf("\n");
}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
BJack לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 18.11.03
22979 הודעות, 15 פידבק, 29 נקודות
   10:58   26.11.14   
אל הפורום  
  3. אוקיי הצלחתי :)  
בתגובה להודעה מספר 2
 
   מסתבר שהייתי צריך להגדיר עוד משתנה ביניים כדי שיהיה אתחול לולאה נכון שוב תודה חבר


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

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

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



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