yehouda75 פורסם 2009 במרץ 21 Share פורסם 2009 במרץ 21 בוקר טוב ברצוני לדעת עם איזה משתנה להגדיר את המטריצה הנל : האם מסוג INT או FLOAT והאם צריך להכניס את הנתונים בטבלה אחד אחד ?או יש דרך אחרת?אשמח לדעת איך עליי להתחיל לכתוב את הקוד תודה רבה ושבת שלום [attachment deleted by admin] קישור לתוכן שתף באתרים אחרים More sharing options...
SuBeX פורסם 2009 במרץ 21 Share פורסם 2009 במרץ 21 אתה יכול להשתמש בפוינטרים ואז תוכל ליצור וקטור לכל עמודה ולמידע שהוא עם X.XX תגדיר float ולאחרים INT.למען האמת, אם לא יכול להיות אצלך מספרים שליליים בחלק מהמידע אז תשתמש ב- Unsigned Int.תוכל להגדיר את הכל ב-struct ואז השימוש וההוספה של פרטים תהיה מאוד מאוד פשוטה קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 במרץ 21 מחבר Share פורסם 2009 במרץ 21 לא למדתי מבנה עדיין רק מערך דו ממדי ורגיל.תוכ לרשום איך הסינטק של הפקודה בבקשה? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במרץ 21 Share פורסם 2009 במרץ 21 אתה יכול להשתמש בפוינטרים ואז תוכל ליצור וקטור לכל עמודה ולמידע שהוא עם X.XX תגדיר float ולאחרים INT.וככה להפוך את התכנית שלך למסובכת, לא קריאה, ו-bug prone.למען האמת, אם לא יכול להיות אצלך מספרים שליליים בחלק מהמידע אז תשתמש ב- Unsigned Int.איזו סיבה יש לעשות את זה? אתה חושש שבמקרה תעבור את הגבול של 2 בחזקת 30? גם זה סתם יכול ליצור בעיות.תוכל להגדיר את הכל ב-struct ואז השימוש וההוספה של פרטים תהיה מאוד מאוד פשוטהנכון (זה הפתרון האופטימלי), אבל התרגיל דורש מטריצה.אל תשתמש ב-int בכלל, אלא רק במערך של float (אגב, מומלץ גם לא להשתמש ב-float אלא רק ב-double). כל int ניתן לייצוג ע"י double, אבל לא להיפך. קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2009 במרץ 21 Share פורסם 2009 במרץ 21 לא למדתי מבנה עדיין רק מערך דו ממדי ורגיל.תוכ לרשום איך הסינטק של הפקודה בבקשה?באיזה שפה התרגיל? נניח שהתרגיל ב-C.enum { NUM_OF_DAYS = 10 };enum{ RAIN_AMOUNT = 0, MIN_TEMP, MAX_TEMP, AIR_POLLUTION, NUM_OF_COLUMNS};double rain_data[NUM_OF_DAYS][NUM_OF_COLUMNS];int main(){ int day, int column; for (day = 0 ; day < NUM_OF_DAYS; day++) { for (column= 0 ; column < NUM_OF_COLUMNS ; column++) { /* read data here, do range check depending on which column you are reading */ } } return 0;}הערה: אפשר גם לעשות לולאת for אחת (על הימים) ולקלוט את נתוני כל יום בפקודת scanf אחת.הערה נוספת: התרגיל הזה "מלמד" אותך משהו לא נכון - מטריצה (מערך דו מימדי) היא לא הדרך הנכונה להחזיק את הנתונים במקרה זה, בין השאר כי לא כולם מאותו טיפוס ובאותם טווחים. עדיף להשתמש במבנים. אבל אני מבין שעוד לא למדתם מבנים... (עדיין עדיף היה לתת תרגיל שלא מקנה הרגלים מגונים, לא חסרים כאלה.) קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 במרץ 22 מחבר Share פורסם 2009 במרץ 22 תודה על העזרהלגבי מלוי המטריצה היות וזה גודל 5*10 אני צריך למלא את הנתונים באופן ידני כלומר רק את הנתוני הממשים שיש לי אמת ?[br]פורסם בתאריך: 23.03.2009 בשעה 00:37:40הי מה הכוונה לENUM שרשמת ? קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2009 במרץ 23 Share פורסם 2009 במרץ 23 אתה שואל אותי? זה תלוי בתרגיל שלך. קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 במרץ 28 מחבר Share פורסם 2009 במרץ 28 תודה על העזרה -אני זקוק להדרכה נוספת,אני צריך לבדוק בתכנית הנל אם הנתון הגיוני :כמות הגשם אינה עולה על 100 ואינה שלילת...מה היום החם ביותר ?לאחר שבניתי את המטריצה מה השלב הבא שצריך לעשות?איך תתבצע שליפת הנתונים? קישור לתוכן שתף באתרים אחרים More sharing options...
ibm123 פורסם 2009 במרץ 28 Share פורסם 2009 במרץ 28 זה נראה שיש לך ש"ב בתכנות אך אינך יודע אפילו לא במעט את החומראולי כדאי שתלמד אותו ? קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2009 במרץ 28 Share פורסם 2009 במרץ 28 אתה יודע איך להכניס מספר למערך? אז אתה גם יודע איך לקרוא מספר ממערך. איפה אתה מתקשה?float rain = data[RAIN_AMOUNT];if (rain > 100.0f || rain < 0.0f) printf("error!\n"); קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 באפריל 19 מחבר Share פורסם 2009 באפריל 19 תודה אני אנסה להריץ אץ התכנית שוב ואראה אם הצלחתי תודה קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 במאי 3 מחבר Share פורסם 2009 במאי 3 סליחה על העיקוב בהכנת התכנית אבל הכנתי אותה ואני מקבל 3 שגיאות -אשמח להבין איפה הטעיות תודה רבה לעוזרים.=============================================================#include <stdio.h>#include <stdlib.h>void main (){ float mat[10][4]; int i,j; float geshem,minTemp; float maxTemp,air; for (i =0;i<10;i++){printf("Enter Kamut Geshem, min temp, max temp, zihum avir:\n"); scanf("%f %f %f %f",&geshem,&minTemp,&maxtemp,&air);while(geshem<0 || geshem>100);mat[i][j]=(float)geshem;j++;mat[i][j]=(i+1); { printf("Bad Value"); break; } if(minTemp<-10 || minTemp>50 || maxTemp<-10 || maxTemp>50) { printf("Bad Value....."); break; } if(minTemp>maxTemp) { printf("wrong : mintemp cant be higher then max temp"); break; } if(air<0 || air>10) { printf("Bad Value"); break; } printf("\n"); printf("%.1f\t",mat[i][0]= geshem); printf("%f\t",mat[i][1]=minTemp); printf("%f\t",mat[i][2]=maxTemp); printf("%f\t",mat[i][3]=air); } } return 0;}[code] קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 3 Share פורסם 2009 במאי 3 אתה מצפה שננחש מהן השגיאות?בכל מקרה, לא מצאתי שום שגיאות קומפילציה, אבל כמה דברים:א. אתה לא מאתחל את j בשום מקום.ב. השורה הזו:while(geshem<0 || geshem>100);היא לולאה ריקה (בשביל שיהיה בה תוכן, אתה צריך להעיף את ה-; ולשים סוגריים מסולסלים סביב הקוד של הלולאה, כמו ב-for).ג. מה בדיוק עשית כאן? { printf("Bad Value"); break; }אין שם שום if, הקוד הזה תמיד ירוץ.ד. ההמרה בשורה הזו מיותרת (שני הטיפוסים הם כבר float):mat[i][j]=(float)geshem;ה. מה המטרה של השורה הזו?mat[i][j]=(i+1);ו. אתה לא יכול לעשות בתכנית שלך void main ואח"כ לעשות return 0. אתה צריך int main במקום. קישור לתוכן שתף באתרים אחרים More sharing options...
yehouda75 פורסם 2009 במאי 3 מחבר Share פורסם 2009 במאי 3 mat[j]=(i+1);לקדם את השורה .לגביWHILE אני יכול לעשות את התנאי ב IF נכון ? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2009 במאי 3 Share פורסם 2009 במאי 3 לא הבנתי מילה.תסביר את עצמך יותר טוב.ותאמר מה השגיאות שיש לך. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.