פורסם 2008 באוגוסט 1217 שנים מחבר אתה קצת חצוף.הבן אדם בעבודה ואתה רוצה שהוא יעשה לך את השיעורי בית עוד היום.ללאאאאא ביקשתי ממנו שהוא יעשה אני ביקשתי ממנו עזרה משום שהוא אמר שהוא מבין בזה והוא גם אמר שהוא לא יכול לפתוח את הקבצים האלה בעבודה שלו לכן ביקשתי ממנו אם כשהוא יסיים הוא יוכל לפתוח אותם ולעזור לי למצוא ולפתור את הבעיה...נ.ב אם אתה לא מבין בנושא אל תוסיף סתםםם הודעות לא קשורות לנושא...
פורסם 2008 באוגוסט 1317 שנים מחבר למי שלא יכול להוריד את הקבצים ולפתוח אותם אז הינה הקודים:הקוד באסמבלר:sseg segment stack dw 20h dup(?)sseg endsdseg segment msg1 db "enter a number between 3-6 : $" msg2 db "please enter a number between 3-6 : $"dseg endscseg segmentassume cs:cseg,ds:dseg,ss:sseg include conio.h begin: mov ax,dseg mov ds,ax call clrscrn push offset msg1 call PutS call GetCh cmp al,33h jc ask cmp al,37h jc befor ask: call clrscrn push offset msg2 call PutS call GetCh cmp al,33h jc ask cmp al,37h jc befor jmp ask befor: call clrscrn and al,0fh mov dl,al mov bl,al print: cmp al,0h jz newl push "*" call PutCh push 179d call PutCh prind: dec al jmp print draw: cmp al,0h jz prind call NewLine push 196d call PutCh mov ah,dl draw2: push 197d call PutCh push 196d call PutCh dec ah cmp ah,0h jnz draw2 call NewLine jmp print newl: dec bl mov al,dl call NewLine cmp bl,0h jz endy jmp draw endy: int 3hcseg endsend beginהקוד בשפת C:#include <iostream.h>#include <conio.h>#include <stdlib.h>#define nl 30int n=3;void ipus(char b[n][n]) // איפוס הלוח{ int i,j; for(i=0;i<n;i++) { for(j=0;j<n;j++) { //45 is '-' b[i][j] =45; } }}int isempty(int x,int y,char b[][]) //בדיקה האם המקום פנוי{ //45 IS '-' if(b[x][y]!= 45) return 0; return 1;}void fill(int x,int y,char c,char b[][]) //הצבת הערך במקום הנבחר{ b[x][y] = c; cout<<endl;}void comp_pos(int *x,int *y,char b[][]) //השוואת מקום{ randomize(); int n1,n2; do { n1 = random(n); n2 = random(n); } while(b[n1][n2]!=45); *x = n1; *y = n2;}void showboard(char b[][],int type,char name1[nl],char name2[nl]) // הצגת טבלת המשחק{ clrscr(); int i,j; cout<<" "; for(i=0;i<n;i++) cout<<i<<" "; cout<<endl; for(i=0;i<n;i++) { cout<<i; for(j=0;j<n;j++) { cout<<"["<<b[i][j]<<"]"; } cout<<"\n"; } cout<<"\nX - "<<name1; if(type==1) cout<<"\nO - "<<name2<<endl; else cout<<"\nO - computer\n";}int alachsonim(char b[][],char c) //בדיקת אלכסונים{ int i,j,m=1; /*alachson rashi*/ for(i=0;i<n;i++) { if(b[i][i]!=c) m = 0; } /*mishni*/ if(!m) { m =1; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i+j==n-1) { if(b[i][j]!=c) m=0; } } } } return m;}int rows(char b[][],char c) //בדיקת שורות{ int i,j,m=0; for(i=0;i<3;i++) { for(j=0;j<n;j++) { if(b[i][j]==c) m++; } if(m!=n) m=0; else return 1; } return 0;}int cols(char b[][],char c) //בדיקת עמודות{ int i,j,m=0; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(b[j][i]==c) m++; } if(m!=n) m=0; else return 1; } return 0;}int isnotfull(char b[][]) //בדיקת מקום במערך{ int i,j; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(b[i][j]==45) return 1; } } return 0;}int wincheck(char b[][],int c) //בדיקת ניצחון{ if(alachsonim(b,c) || rows(b,c) || cols(b,c)) return 1; else return 0;}void startgame(int *type,char name1[nl],char name2[nl]) // איפוס המשחק{ cout<<"\nEnter type of game(1=p vs p;2 = p vs comp): "; cin>>*type; cout<<"Player 1(X), enter your name :"; cin>>name1; if(*type==1) { cout<<"Player 2(O), enter your name :"; cin>>name2; }}void declarewinner(char b[][],char c,char name1[nl],char name2[nl],int type) //הכרזה על המנצח{ if(alachsonim(b,c)) cout<<"\n[oblique] "; else if(rows(b,c)) cout<<"\n[rows] "; else cout<<"[columns] "; cout<<"THE WINNER IS :"; if(c=='X') cout<<name1; else { if(type==1) cout<<name2; else cout<<"computer"; }}void switchplayer(int m,int e,char *c) // החלפת השחקן{ if(!m && e) { if(*c=='X') *c = 'O'; else *c = 'X'; }}void main() // תחילת התוכנית{ char b[n][n]; char c='X',i; char name1[nl],name2[nl]; int x,y,m=0,e=1,win=0; int isfull; int type; cout<<"enter a size between 3-6 : "; cin>>n;while (n<3&&n>6){ cout<<"enter a size between 3-6 : "; cin>>n; } clrscr(); startgame(&type,name1,name2); ipus(b); showboard(b,type,name1,name2); while(isnotfull(b) && win==0) { cout<<"\nnow playing : "; if(c=='X') cout<<name1; else { if(type==1) cout<<name2; else cout<<"computer"; } if(type==1 || (type==2 && c=='X')) { cout<<"\nenter position :"; cin>>x>>y; } else comp_pos(&x,&y,b); if(isempty(x,y,b)) { fill(x,y,c,b); showboard(b,type,name1,name2); if(wincheck(b,c)) { win = 1; m=1; } e=1; } else { cout<<"\nTHIS SQUARE IS NOT AVAILABLE!\n\a"; e = 0; } switchplayer(m,e,&c); } if(win==0) //סיום המשחק cout<<"\nthat's a draw!"; else declarewinner(b,c,name1,name2,type); }
פורסם 2008 באוגוסט 1317 שנים טוב לגבי הקוד בCיש לא מעט שיכולים לעזור לך אני מניח, וגם דוגמאות ברשתאני צריך ממש להסתכל עמוק לתוך זה כדי להבין, כרגע בעבודה לצערי אז לא יכול.
פורסם 2008 באוגוסט 1317 שנים מחבר טוב לגבי הקוד בCיש לא מעט שיכולים לעזור לך אני מניח, וגם דוגמאות ברשתאני צריך ממש להסתכל עמוק לתוך זה כדי להבין, כרגע בעבודה לצערי אז לא יכול.אני אשמח כאשר תתפנה לעזור לי בזה...[br]פורסם בתאריך: 13.08.2008 בשעה 21:33:44מה הבעיה שיש לך בקוד C ?הוא עושה לי בעיה עם המערכים ובבדיקות של "האם המקום פנוי" ...שאלה : כיצד אני מבצע השהייה (DELAY) ב-C?
פורסם 2008 באוגוסט 1317 שנים לא הבנתי כמה דברים בקוד הC שלךנראה קצת מבולגןהייתי עושה פחות פונקציות ובלאגןסה"כ אתה יכול לעשות משהו פשוט יותרתן לשחקן הראשון את הערך 10לשני את הערך -10 (סתם זורק)וכל פעם תסכום את השורות, אם מוצא שורה שהסכום הוא 30 או -30 הרי שיש מנצחוכנל לגבי עמודות ואלכסונים.משבצת היא ריקה אם הערך בה שונה מ10 או -10ולא יודענראה לי די פשוטקשה לעזור ככה באויר, אבל באמת שלא רואה משהו יותר מידי מסובך.דבר נוסףהפונקציה comp_posלמה היא נראית זוועה כזאתי?!הבנתי שהמחשב טמבל אצלךאבל, אתה לא רק רוצה לבדוק ששונה מ45 (ערך הריק אצלך) אלא גם שאתה לא עולה על אף אחד, אחרת יש מצב שמישהו הציב כבר בX Y מסויימים ואתה רושם עליהים שוב.הבדיקות של אלכסונים וכו' פשוט זוועה.כולה תעשה מה שאמרתיתעבור על האלכסון - פשוט שתי לולאות FOR פשוטות וכנל לגבי מאונכים וכו'.חוץ מזה, שאתה מת על פניות לזכרון, למה ?!למה בכלל שיש לך INT לעשות רע כזה?!אני אומר ככהתמחוקתתחיל מהתחלהתעשה הכל פשוט וקל, לדעתי בשעות ספורות אתה גומר את זהאל תרשום ואז תחשובתחשוב ואז תרשום!!זה הכל.
פורסם 2008 באוגוסט 1417 שנים מחבר לא הבנתי כמה דברים בקוד הC שלךנראה קצת מבולגןהייתי עושה פחות פונקציות ובלאגןסה"כ אתה יכול לעשות משהו פשוט יותרתן לשחקן הראשון את הערך 10לשני את הערך -10 (סתם זורק)וכל פעם תסכום את השורות, אם מוצא שורה שהסכום הוא 30 או -30 הרי שיש מנצחוכנל לגבי עמודות ואלכסונים.משבצת היא ריקה אם הערך בה שונה מ10 או -10ולא יודענראה לי די פשוטקשה לעזור ככה באויר, אבל באמת שלא רואה משהו יותר מידי מסובך.דבר נוסףהפונקציה comp_posלמה היא נראית זוועה כזאתי?!הבנתי שהמחשב טמבל אצלךאבל, אתה לא רק רוצה לבדוק ששונה מ45 (ערך הריק אצלך) אלא גם שאתה לא עולה על אף אחד, אחרת יש מצב שמישהו הציב כבר בX Y מסויימים ואתה רושם עליהים שוב.הבדיקות של אלכסונים וכו' פשוט זוועה.כולה תעשה מה שאמרתיתעבור על האלכסון - פשוט שתי לולאות FOR פשוטות וכנל לגבי מאונכים וכו'.חוץ מזה, שאתה מת על פניות לזכרון, למה ?!למה בכלל שיש לך INT לעשות רע כזה?!אני אומר ככהתמחוקתתחיל מהתחלהתעשה הכל פשוט וקל, לדעתי בשעות ספורות אתה גומר את זהאל תרשום ואז תחשובתחשוב ואז תרשום!!זה הכל.1.הערך 45 (שבעצם מציין/ מסמן '-') מראה שהמקום פנוי ושניתן להציב בו אחרת הוא לא מציב והוא רושם הודעה שהמקום אינו פנוי זה בעצם מה שעושה הפונקציה comp_pos..2.יש לי כבר פונקציות שמבצעות את כל הבדיקות כולל אלכסונים ובכך היא בודקת אם יש ניצחון...3.ב-INT אני משתמש כדי לדעת את גודל הטבלה (טווח של בין 3 ל-6)4.הקוד ברובו תקין הבעיה העיקרית היא הגישה / העברת מערך לפונקציה .....
פורסם 2008 באוגוסט 1517 שנים מחבר מישהו יכככווללל לעזזזווורר ליי (ואם הוא יכול גם להריץ) ולהגיד לי איך אני פותר את הבעיה עם העברת המערכים הדו-מימדיים לפונקציות השונות ?דדחחחווווףףףףףףףףףףףףףףףףףףף..................
פורסם 2008 באוגוסט 1617 שנים http://library.thinkquest.org/C0111571/manual.php?tid=26http://c-faq.com/aryptr/ary2dfunc3.htmlhttp://c-faq.com/aryptr/aryptr.c
פורסם 2008 באוגוסט 1617 שנים מחבר שתי שאלות :1.איך מציבים ערך משתנה מסוג char ?2.האם יש פקודת השהייה ה-C ?מצ"ב הקובץ המעודכן של התוכנית בשפת C....[attachment deleted by admin]
פורסם 2008 באוגוסט 1617 שנים זה תלוי בסביבה, חפש sleep או usleep. וערך CHAR פשוט מציבים או מספר קטן מ 255 או בין 2 גרש.
פורסם 2008 באוגוסט 1617 שנים מחבר זה תלוי בסביבה, חפש sleep או usleep. וערך CHAR פשוט מציבים או מספר קטן מ 255 או בין 2 גרש.האם הפקודות SLEEP ו-USLEEP הם מובנים בשפת C ?איך מזמנים ומשתמשים בערך SLEEP ?איך מזמנים ומשתמשים בערך USLEEP ?אני מציב את הערך של ה-CHAR בין 2 גרש ועדיין זה לא עובד לי..אתה יכול בבקשה להסתכל ולבדוק בקובץ (המצורף בהודעתי הקודמת) ולפתור לי את הבעיה ?
פורסם 2008 באוגוסט 1617 שנים תסתכל בקבצי עזרה או שתחפש באינטרנט, אני בטוח שתמצא מספיק מידע באיך משתמשים בזה. לגבי ההצבה של הערך char תכתוב בדיוק איפה הבעיה אם אתה רוצה שיעזרו לך.
פורסם 2008 באוגוסט 1617 שנים מחבר תסתכל בקבצי עזרה או שתחפש באינטרנט, אני בטוח שתמצא מספיק מידע באיך משתמשים בזה. לגבי ההצבה של הערך char תכתוב בדיוק איפה הבעיה אם אתה רוצה שיעזרו לך.הבעיה היא במערך הדו מימדי כאשר אני בודק ומשוואה באמצעות IF את הערך שבתא במערך לערך שאני בוחר (לדוגמא הערך '-' אשר מציין כי התא ריק).תוכל לראות אתה המקומות אשר הוא מופיע בהם בתוכנית..אתה יודע כיצד אפשר לפתור מאת הבעיה הזאת ?
פורסם 2008 באוגוסט 1717 שנים בפונקציה comp_pos למשל, אתה מקבל מצביעים ל x, y (אני לא יודע למה החלטת לעשות את זה ככה), אבל אתה משתמש בערכי המצביעים במקום הערכים של המשתנים, אז או שתעביר את המשתנים ישירות או שתוסיף * לפוינטרים בשימוש שלהם כדי לגשת לתוכן.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.