Đề bài : Lập một mảng 2 chiều m dòng , n cột . Giá trị của mỗi ô là từ 0 đến m*n . Hãy in các trường hợp tổng các dòng bằng nhau .
Ví dụ mảng
x y x
a b c
thì x+y+z = a+b+c
Bài làm của mình như thế này ( đã bỏ những thứ không ảnh hưởng đến lỗi đi )
Khi mình chạy thì giá trị các phần tử đều ra số rất lớn . Chạy debugging thì bị lỗi " Unhandled exception at 0x000A157C in BAI6-FINAL.exe: 0xC0000005: Access violation writing location 0x013AA000. " ở dòng đã đánh dấu .
Số dòng mình để là sodng vì vi phạm phải từ cấm (???) nhé . Bạn nào biết giúp mình với .
Ví dụ mảng
x y x
a b c
thì x+y+z = a+b+c
Bài làm của mình như thế này ( đã bỏ những thứ không ảnh hưởng đến lỗi đi )
PHP Code:
#include <stdio.h>
int sodng,socot;
int i,c,dem=0;
int **a;
int different(int c ,int dong ,int cot)
{
return 1;
}
void in()
{
for(int dong=0;dong<sodng;dong++)
{
for(int cot=0;cot<socot;cot++)
{
printf("%d ",a[dong][cot]);
}
printf("\n");
}
printf("\n");
}
int tong(int dong ,int cot)
{
return 1;
}
void timgiatri(int dong , int cot)
{
for(int c=0;c<=sodng*socot;c++)
{
if (different(c,dong,cot)==1)
{
a[dong][cot]=c; \* dòng này bị lỗi *\
if (dong<sodng-1)
{
timgiatri(dong,cot+1);
}
if (dong==sodng-1)
{
timgiatri(dong+1,0);
}
}
}
}
void main()
{
printf("So dong la :");
scanf("%d",&sodng);
printf("So cot la:");
scanf("%d",&socot);
a = new int*[socot];
for(i=0;i<socot;i++)
{
a[i] = new int[socot];
}
in();
timgiatri(0,0);
}
Số dòng mình để là sodng vì vi phạm phải từ cấm (???) nhé . Bạn nào biết giúp mình với .
Comment