עבור לתוכן

משולש פסקל

Featured Replies

פורסם

מישהו יכול לומר לי איך אני רושם תוכנית ב- Matlab כאשר הוא קולט מהמשתמש מספר ומוציא משולש פסקל

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

אם נסמן את המקדמים של האברים נקבל :

1

1 1

1 2 1

1 3 3 1

כל איבר מתקבל מסכום של שני איברים מהשורה הקודמת : האיבר שמעליו והאיבר הקודם לו.

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

הדרכה :

התחל מהשורה הראשונה המכילה 1.

שים לב האיבר הראשון והאיבר האחרון בכל שורה שווה ל 1.

פורסם

תיצור כל פעם וקטור בגודל N-1(N זה הגודל האחרון שחישבת לו). תעבור בלולאה (או שתרפד ואז לא צריך לולאה) ותחשב עבור כל איבר את הסכום של ה- 2 שמעליו. לאחר מכן תוסיף 1 בשני הקצוות של הווקטור. ככה תעשה כמה שלבים(וכמה שורות) שביקשו ממך. את כל מה שרשמתי לך אתה יכול לשים בלולאה אחת גדולה ולא לרשום הרבה(אני מניח שכבר חשבת על זה לבד).

פורסם

מה קורה אחי

אני לא יודע ממש מה זאת שפת Matlab

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

#include<stdio.h>
#include<conio.h>



const width=12;
const height=12;

int pas[height][width];
void init_pas(void);
void print(void);
void PASCAL(void);
void main(void)

{
clrscr();
init_pas();
PASCAL();
print();
getch();

}
void init_pas(void)
{
int i=0,j=0;
for (i=0;i<height;i++)
{
for (j=0;j<width;j++)
{
pas[i][j]=0;
}
}
for (i=0;i<height;i++)
{
pas[i][i]=1;
pas[i][0]=1;
}

}
void print(void)
{
int i,j,space=2;
for (i=1;i<height;i++)
{
for (j=0;j<i+1;j++)
{
gotoxy((30-i*2)+j*4,i+10);
printf("%d",pas[i][j]);
}
}
}
void PASCAL(void)
{
int i,j;
for (i=1;i<height;i++)
{
for (j=1;j<width-1;j++)
{
pas[i][j]=pas[i-1][j-1]+pas[i-1][j];
}
}

}

:xyxthumbs:

פורסם
  • מחבר

יש מישהו שיכול להמיר לי את הקוד בשפת C ל- Matlab ??

פורסם

אתה לא יכול פשו לחשב ע"י נוסחת הבינום של ניוטון ?

פורסם
  • מחבר

זה לא לחשב סתם אלא להציג, ולא סתם אלא ע"י קליטת מס' מן המשתמש..

פורסם

shiz,

אני גם כתבתי תוכנית כזאת והקוד שלך היה נראה לי מוזר מעט. הלכתי ל-VS C++ והוא לא רץ.

השגיאות:

error C2065: 'clrscr' : undeclared identifier
error C2065: 'gotoxy' : undeclared identifier

אולי הפונקציות האלה לא עובדת בקומפיילר הזה? :P

פורסם

אלה פונקציות של Borland C++.

ל-VC משתמשים בפונקציות אחרות.

פורסם

עכשיו עובד. :xyxthumbs:

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

(טוב, מה אני מקטר. אין לי כלל זכות. אצלי זה יוצא כמו משולש ישר זווית... ;D)

פורסם

יכולים להשתמש בפקודות של CONSOLE במקום GOTOXY.

פורסם

יכולים להשתמש בפקודות של CONSOLE במקום GOTOXY.

אתה יכול לתת דוגמא או קישור?

פורסם

תודה. :xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים