View Single Post
ישן 05-11-08, 23:13   # 8
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

ציטוט:
נכתב במקור על ידי SDF צפה בהודעה
אחריי שתסיים יש לי קוד בשבילך, נשווה.

ובנתיים:
איך רצים לפי שורות:
קוד:
int i, j;
for (i = 0; i < MATRIX_SIZE; i++)
{
 for(j = 0; j < MATRIX_SIZE; j++)
   printf("&#37;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 נראה לי
מה אתם אומרים יש דרך יותר קצרה אולי?

Last edited by Xinxy; 05-11-08 at 23:25..
  Reply With Quote