25-05-2018, 22:52
|
|
|
|
חבר מתאריך: 25.10.05
הודעות: 1,508
|
|
הקצאת מערך תלת מימדי ב C
היוש,
יש לי את המערך הבא:
קוד:
int triedNumbers[demi * demi][demi * demi][demi*demi] = { 0 };
כיוון ש demi (מימד) יכול להשתנות אני מנסה להקצות את המערך הזה דינאמית.
הקוד שעשיתי:
הכרזה:
קוד:
int ***triedNumbers;
allocation:
קוד:
triedNumbers = (int ***)malloc(demi * demi * sizeof(int **));
int i;
int j;
int x;
int count = 0;
for (i = 0; i < demi * demi; i++)
{
triedNumbers[i] = (int **)malloc(demi * demi * sizeof(int *));
for (j = 0; j < demi * demi; j++)
{
triedNumbers[i][j] = (int *)calloc(demi * demi,sizeof(int));
}
}
יש לציין, שבלי ההקצאה הדינאמית הקוד עובד אחלה והוא עושה את מה שהוא צריך לעשות, שאני מחליף את זה להקצאה דינאמית התוכנית מסתיימת בלי לעשות מה שהיא צריכה לעשות אבל לא נזרקת שום שגיאה.
למישהו יש מושג מה עשיתי לא נכון?
התוכנית המקורית היא 315 שורות לכן אני לא מכניס אותה פה.
_____________________________________
חתימתי העצומה בגודלה הוסרה ע"י השליט הבלתי מעורער שימי, למי שיש בעיה שיפנה אליו.
ד אַל תַּעַן כְּסִיל כְּאִוַּלְתּוֹ פֶּן תִּשְׁוֶה לּוֹ גַם אָתָּה. ה עֲנֵה כְסִיל כְּאִוַּלְתּוֹ פֶּן יִהְיֶה חָכָם בְּעֵינָיו
|