LooKinG FoR My NaMe
New member
עזרה ב C
היי,
יש לי פונקציה שבה אני מקבלת את המטריצה ואת הקורדינאטות שלה, אני צריכה לעבור על 8 השכנים שלה,
יש 3 אפשרויות לכל תא X Y Z, ואני צריכה לסכום את ההופעות של X Y.
עכשיו, אני יכולה לעשות את הבדיקה של "אם אפשר להגיע לתא העליון/תחתון/שמאלי..." ואז לקונן עוד תנאים- אם זה X תעלה את הקאונטר של איקס, אם זה Y...
קוד כזה יוצא ארוך ומבולגן, אז השתמשתי ב switch case. אבל שוב פעם אני צריכה לרשום אותו כל פעם מחדש.
if (row != 0 )
{
int currState= matrix[row-1][col];
switch ( currState ) {
case 1:
countX++;
break;
case 2:
countY++;
break;
default:
break;
}
}
if (row != SIZE)
{
int currState= matrix[row+1][col];
switch ( currState ) {
case 1:
countX++;
break;
case 2:
countY++;
break;
default:
break;
}
}
חשבתי גם על ליצור מערך ולקרוא לפונקציה שתעשה את העלייה של הקאונטר לפי מה שנמצא בשכן, ואז זה יהיה יותר מסודר, אבל זה ליצור מערך ולשחרר.
יש לכם אולי פתרונות חוסכי שכפול קוד?
תודה
היי,
יש לי פונקציה שבה אני מקבלת את המטריצה ואת הקורדינאטות שלה, אני צריכה לעבור על 8 השכנים שלה,
יש 3 אפשרויות לכל תא X Y Z, ואני צריכה לסכום את ההופעות של X Y.
עכשיו, אני יכולה לעשות את הבדיקה של "אם אפשר להגיע לתא העליון/תחתון/שמאלי..." ואז לקונן עוד תנאים- אם זה X תעלה את הקאונטר של איקס, אם זה Y...
קוד כזה יוצא ארוך ומבולגן, אז השתמשתי ב switch case. אבל שוב פעם אני צריכה לרשום אותו כל פעם מחדש.
if (row != 0 )
{
int currState= matrix[row-1][col];
switch ( currState ) {
case 1:
countX++;
break;
case 2:
countY++;
break;
default:
break;
}
}
if (row != SIZE)
{
int currState= matrix[row+1][col];
switch ( currState ) {
case 1:
countX++;
break;
case 2:
countY++;
break;
default:
break;
}
}
חשבתי גם על ליצור מערך ולקרוא לפונקציה שתעשה את העלייה של הקאונטר לפי מה שנמצא בשכן, ואז זה יהיה יותר מסודר, אבל זה ליצור מערך ולשחרר.
יש לכם אולי פתרונות חוסכי שכפול קוד?
תודה