עבור לתוכן
  • צור חשבון

99_tal

משתמש רשום
  • מספר הודעות

    1
  • הצטרפות

  • ביקר לאחרונה

  • זמן מחובר

    3יום 5ש' 12דק' 4שנ'

דירוג

0 ניטרלי

אודות 99_tal

  • דרגה
    Zone Newbie

מבקרים אחרונים

הצגת המבקרים בפרופילך מנוטרלת, ולא ניתן לראות מי ביקר לאחרונה בפרופיל שלך.

  1. היי, יש לי שאלה כזו- נתונה לי מטריצה מסוג char בגודל 4X4. נתונה לי גם פונקציה ( bool isWord(char* s ובה יש את כול המילים שניתן ליצור מהתווים שבמטריצה. אני צריכה לעבור על המטריצה ובכול פעם לשלוח לפונקציה מילה אפשרית, אם זו אכן מילה אז להדפיס אותה ולבסוף להחזיר את מספר המילים התקינות שהדפסתי. ישנה מגבלה- אסור לעבור על המטריצה כאשר חוצים את הקו הדימיוני בעת המעבר עליה (מותר ללכת ימינה, שמאלה, למעלה, למטה אבל אסור לחצות את הקו הדימיוני) ניסיתי קודם כול לכתוב את הפונקציה ללא המגבלה- בעזרת רקורסיה. משום מה אני לא מצליחה לבצע זאת.(מקבלת הודעות שגיאה לא מובנות) אני ממש אשמח לעזרה יש לציין שרק עכשיו התחלתי ללמוד את השפה ואני עוד לא בקיאה כ"כ.... מצרפת את הקוד... #include <stdio.h> #include <stdbool.h> int main() { char matrix [4][4]={{'C','A','R','T'},{'E','T','A','K'},{'E','S','M','E'},{'L','L','P','N'}}; printf("%d",printWords(matrix)); return 0; } #define MATRIX_SIZE 4 int printWords(char A[MATRIX_SIZE][MATRIX_SIZE]){ int row,col=0; int counter=0; if(row>MATRIX_SIZE || col>MATRIX_SIZE|| row<0 || col<0){ return 0; } if(isWord(printWords*(A[row][col+1]))){ printf("%c",(printWords(A[row][col+1]))); counter++; } if(isWord(printWords*(A[row+1][col]))){ printf("%c",(printWords(A[row+1][col]))); counter++; } if(isWord(printWords*(A[row-1][col]))){ printf("%c",(printWords(A[row-1][col]))); counter++; } if(isWord(printWords*(A[row][col-1]))){ printf("%c",(printWords(A[row-1][col]))); counter++; } return counter; } bool isWord(char* s){ return (!strcmp(s,"CAT") | !strcmp(s,"CATS") | !strcmp(s,"TRAM") | !strcmp(s,"TRAMS") | !strcmp(s,"TAME") | !strcmp(s,"CAR") | !strcmp(s,"CARS") | !strcmp(s,"RAT") | !strcmp(s,"RATS") | !strcmp(s,"RAMP") | !strcmp(s,"ART") | !strcmp(s,"CART") | !strcmp(s,"STAMP") | !strcmp(s,"TAKEN") | !strcmp(s,"MEN") | !strcmp(s,"MAKE") | !strcmp(s,"TAKE") | !strcmp(s,"ATE") | !strcmp(s,"SELL") | !strcmp(s,"STEEL") | !strcmp(s,"RAKE") ); }
×
  • צור חדש...
Back to top button
Close