ציטוט:
נכתב במקור על ידי SDF
אחריי שתסיים יש לי קוד בשבילך, נשווה.
ובנתיים:
איך רצים לפי שורות:
קוד:
int i, j;
for (i = 0; i < MATRIX_SIZE; i++)
{
for(j = 0; j < MATRIX_SIZE; j++)
printf("%c\t", matrix[i][j]);
printf("\n");
}
זה כמובן מדפיס את המטריצה, אם אתה על GCC, אתה יכול לשים sleep אחריי ה printf ותראה שהוא הולך לפי שורות.
בשביל ללכת לפי עמודות, אתה צריך:
matrix[j][i]
להחליף את האינדקסים, שים לב שאתה לא חורג מגבולות מערך אם יש לך מטריצה לא ריבועית.
|
מגניב לא חשבתי על דבר כזה
מה שעשיתי היה:
קוד:
for(i = 0; i < 5; i++)
{
printf("%c ", a[0][i]);
}
printf("\n");
for(i = 0; i < 5; i++)
{
printf("%c ", a[1][i]);
}
printf("\n");
for(i = 0; i < 5; i++)
{
printf("%c ", a[2][i]);
}
printf("\n");
for(i = 0; i < 5; i++)
{
printf("%c ", a[3][i]);
}
printf("\n");
for(i = 0; i < 5; i++)
{
printf("%c ", a[4][i]);
}
printf("\n\n");
עריכה:
יש לי עוד בעיה
ביינתים עשיתי את הקוד הזה:
קוד:
#include <stdio.h>
#define ROW 4
#define COL 4
#define MATRIX_SIZE 5
int main ()
{
char a[ROW][COL];
int i, j;
char forCheck[4];
for(i = 0; i < 5; i++)
{
printf("row %d: ", i + 1);
scanf("%s", a[i]);
}
for (i = 0; i < MATRIX_SIZE; i++)
{
for(j = 0; j < MATRIX_SIZE; j++)
{
printf("%c ", a[i][j]);
}
printf("\n");
}
}
וכשאני מריץ אותו התוכנה VISUAL C++ אומרת לי:
Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.
איך אפשר לסדר את זה?
עריכה שוב:
שוב אני מנסה עכשיו לעשות את הבדיקה אבל אני פשוט לא יודע איך להתחיל
חשבתי אולי לעשות בדיקה על כל אות ז"א a[0], a[1], a[2], a[3], a[4]
אבל זה יהיה מטורף אני יצתרך איזה 200 לולאות FOR נראה לי
מה אתם אומרים יש דרך יותר קצרה אולי?