הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-01-06, 00:01   # 1
eur2
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד, וכמובן ישראל
הודעות: 1,395

eur2 לא מחובר  

צריך עזרה בנוגע לתוכנית בשפת C

PHP קוד:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <windows.h>

int clrscr() { 
    
COORD coordScreen = { 0}; 
    
DWORD cCharsWritten
    
CONSOLE_SCREEN_BUFFER_INFO csbi
    
DWORD dwConSize
    
HANDLE hConsole GetStdHandle(STD_OUTPUT_HANDLE); 
    
    
GetConsoleScreenBufferInfo(hConsole, &csbi); 
    
dwConSize csbi.dwSize.csbi.dwSize.Y
    
FillConsoleOutputCharacter(hConsoleTEXT(' '), dwConSize
        
coordScreen, &cCharsWritten); 
    
GetConsoleScreenBufferInfo(hConsole, &csbi); 
    
FillConsoleOutputAttribute(hConsolecsbi.wAttributesdwConSize
        
coordScreen, &cCharsWritten); 
    
SetConsoleCursorPosition(hConsolecoordScreen);    
    return 
0;
}

int gotoxy(int xint y

    
COORD coord
    
coord.xcoord.y
    
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
    return 
0;
}

int main() {
    
int a,b,c,i,x[10];

    
cout<<"Please Enter The 3 coefficient :"<<endl<<endl;
    
cout<<"A: ";
    
cin>>a;
    
flushall();
    
cout<<"B: ";
    
cin>>b;
    
flushall();
    
cout<<"C: ";
    
cin>>c;
    
flushall();

    
cout<<"Please Enter The 10 X locations, You Wish To Locate On The Chart!"<<endl<<endl;
    for(
i=0;i<10;i++) {
        
printf("X[%d]: ",i);
        
scanf("%d",&x[i]);
        
flushall();
    }
    
clrscr();

    for(
i=0;i<10;i++) {
        
gotoxy(x[i],a*x[i]*x[i]+b*x[i]+c);
        
putchar('*');
    }

    return 
0;


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

חברים שלי אמרו לי שאני צריך לפשט את התוכנית לפני שאני יביא למורה שלנו לשפת C או שהוא יוריד לי ציון שאני עושה את התוכניות שלי או ארוכות מידי או מסובכות מידי (מורה מעצבן).

מי יכול, או אפילו להציע רעיון איך אני ישמח לדעת..

*קיים באג בתוכנית שהוא יכול לקבל רק נקודות חיוביות..

*הפונקציות clrscr() ו gotoxy(), כתבתי אותם כי VISUAL C++ לא מזהה אותם בסיפריית conio.h (במילה אחת: "מיקרוסופט").

*ה - flushall() זה לניקוי חוצץ, בעיקרון זה לא חובה, אבל מתוך הרגל וניקיון אני רושם את זה אחרי כל קליטת נתונים (במידה ומצאתם אחד מיותר).

יבגני
  Reply With Quote
ישן 08-01-06, 00:10   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

לא הבנתי מה צריך לעשות?...היום עשיתי בניית גרף בTC (מומלץ,כי זה לא MS)בדיוק איך שאמרת רק שהשתמשתי בספריית graphics.h ועשיתי במקום gotoxy שזה ממש לא טוב לגרף כי זה תווים עשיתי פיקסלים..
(ד"א זה מסביר למה שקימפלת לי פעם אחת זה לא עבד :])....
תסביר מה הוא רוצה לפשט? כי זה לא ממש מסובך וזה ממש קצר יחסית מה שיש בmain
  Reply With Quote
ישן 08-01-06, 00:13   # 3
Eran-s
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 2,609

Eran-s לא מחובר  

ברשותך meshuga,
לא לצטט הודעות ארוכות מדי.
__________________
מפתח ומתחזק אתרים.
  Reply With Quote
ישן 08-01-06, 00:15   # 4
eur2
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד, וכמובן ישראל
הודעות: 1,395

eur2 לא מחובר  

אני רוצה לפשט את התוכנית, לעשות יותר קצר... אבל אני יחשוב על graphics.h אולי אני השתמש בו, נראה כבר... כבר מאוחר המוח שלי לא עובד יותר ב100 אחוז, כרגע זה משהו כמו -22.3 אחוז (המינוס זה לא טעות, :qqb007: ).

התוכנית אמורה לצייר לך גראפים של פונקציות ליניאריות או ריבועיות, לבחירתך..
A=0 אז פונקציה ליניארית, אחרת ריבועית.

הציור מגיע מהנקודות שהמשתמש מקליד מהמקלדת, אני אישית הייתי עושה טווחים אבל מורה (לא יגיד בשביל לא לקבל באן :qqb006: ).

יבגני
  Reply With Quote
ישן 08-01-06, 00:16   # 5
dgate
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: אזור השרון
הודעות: 56
שלח הודעה באמצעות ICO אל dgate שלח הודעה באמצעות MSN אל dgate

dgate לא מחובר  

Thumbs up

שלום יבגני,

אני עצמי לא מכיר C, אלא pascal, אך כמובן שהכל זה אותו חרא רק ב syntax שונה...

על פי מה שאני רואה אין סיבוך מיותר בתוכנית שכתבת שכן תהליך הקליטה של הנתונים(X,Y) הוא הכרחי ואי אפשר להימנע ממנו, והתהליך עצמו שמדפיס את הכוביות על המסך הוא לולאה פשוטה שרצה לא מליון פעם, אלא רק 10.

בקיצור, אני אישית לא ממש הבנתי למה קבעת את ערך ה-Y של כל נקודה כa*x[i]*x[i]+b*x[i]+c ... אבל אם זה מביא את התוצאה אז אני מאמין שפתרת את התרגיל בהצלחה.

אין בתרגיל הזה שום עומס על ריצת הקוד ואם הוא פעול לפי דרישות התרגיל(שים לב להוראה המדויקת הכתובה בספר שלך) אז איך שזה זה בסדר גמור.

שלך, שגיא
  Reply With Quote
ישן 08-01-06, 00:18   # 6
eur2
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד, וכמובן ישראל
הודעות: 1,395

eur2 לא מחובר  

ציטוט:
נכתב במקור על ידי Sirius-Training.co.il
שלום יבגני,

אני עצמי לא מכיר C, אלא pascal, אך כמובן שהכל זה אותו חרא רק ב syntax שונה...

על פי מה שאני רואה אין סיבוך מיותר בתוכנית שכתבת שכן תהליך הקליטה של הנתונים(X,Y) הוא הכרחי ואי אפשר להימנע ממנו, והתהליך עצמו שמדפיס את הכוביות על המסך הוא לולאה פשוטה שרצה לא מליון פעם, אלא רק 10.

בקיצור, אני אישית לא ממש הבנתי למה קבעת את ערך ה-Y של כל נקודה כa*x[i]*x[i]+b*x[i]+c ... אבל אם זה מביא את התוצאה אז אני מאמין שפתרת את התרגיל בהצלחה.

אין בתרגיל הזה שום עומס על ריצת הקוד ואם הוא פעול לפי דרישות התרגיל(שים לב להוראה המדויקת הכתובה בספר שלך) אז איך שזה זה בסדר גמור.

שלך, שגיא
הערך Y חייב להיות שונה בכל פעם שאני משנה את הX...
ואין לי ספר, המורה **** (לא יפרט אמרתי כבר) מעצבן אותי, וכל הזמן מוריד על דברים כאלה.

ועשיתי שם לולאה אם לא ראית...
PHP קוד:
    for(i=0;i<10;i++) { 
        
gotoxy(x[i],a*x[i]*x[i]+b*x[i]+c); 
        
putchar('*'); 
    } 
סתם דוגמא להורדה בציון: על שם משתנה על משמעותי 7 נקודות פחות, לכו תבינו למה, התוכנית כולה הייתה איזה 10 שורות כולה...

ואני חייב לשמור על ציונים גבוהים...
בגלל זה אני מבקש עזרה...

יבגני
  Reply With Quote
ישן 08-01-06, 00:36   # 7
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

שמע,הקוד מצויין,הקטע של הקורדינציות אידיוטי אבל לא משנה,בכל מקרה,רק תזכור שהמסך זה דבר הפוך...Y מתחיל מלמעלה אז הצעה שלי תעשה -y+24 ואולי זה יצא טוב ,אני לא בטוח במה שאני אומר אבל זה מה שאני עשיתי עם הgraphics קיצר..בהצלחה..
  Reply With Quote
ישן 08-01-06, 01:08   # 8
eur2
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד, וכמובן ישראל
הודעות: 1,395

eur2 לא מחובר  

ציטוט:
נכתב במקור על ידי meshuga
שמע,הקוד מצויין,הקטע של הקורדינציות אידיוטי אבל לא משנה,בכל מקרה,רק תזכור שהמסך זה דבר הפוך...Y מתחיל מלמעלה אז הצעה שלי תעשה -y+24 ואולי זה יצא טוב ,אני לא בטוח במה שאני אומר אבל זה מה שאני עשיתי עם הgraphics קיצר..בהצלחה..
חוץ מהבאג של קורדינטות שהם חייבים להיות חיוביים... והשיפוע שלילי אני יתקן את זה בלילה..
אבל אפשר לפתור את זה בלי בעיה וגם לעשות שליליים, ועם מערכת צירים למי יש איזה שעה עבודה לי אישית אין לי כוח לעשות את זה למורה...

גם ככה 90 אחוז מהכיתה שלי אין להם מצב להצליח בכלל התרגיל.


יבגני
  Reply With Quote
ישן 09-01-06, 16:21   # 9
dgate
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: אזור השרון
הודעות: 56
שלח הודעה באמצעות ICO אל dgate שלח הודעה באמצעות MSN אל dgate

dgate לא מחובר  

ציטוט:
סתם דוגמא להורדה בציון: על שם משתנה על משמעותי 7 נקודות פחות, לכו תבינו למה, התוכנית כולה הייתה איזה 10 שורות כולה...
המורה שלך צודק ב200%! אלו הם הדרישות של משרד החינוך, ועל דברים כאלה יורידו לך נקודות בבגרות. המורה שלך רק מכין אותך להבא! עדיף שה-7 נק' האלה ירדו במבחן הזה ולא בבגרות.

שם משמעותי למשתנים הוא דבר באמת הכרחי, זה גם יעזור לך לאחר שתתחיל לבנות תוכניות גדולות. זה מונע בלבול.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 14:19.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ