Tình hình là em đang thử in một ma trận và kết quả mong muốn có dạng như sau:
n = 4
4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 3 2 2 2 3 4
4 3 2 1 2 3 4
4 3 2 2 2 3 4
4 3 3 3 3 3 4
4 4 4 4 4 4 4
Nhưng thực tế khi em code thì nó lại ra như thế này:
4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 4 2 2 2 4 4
4 4 4 1 4 4 4
4 4 4 4 4 4 4
4 4 4 4 4 4 4
4 4 4 4 4 4 4
Và thật sự là em không biết phải làm thế nào nữa @@
Code của em đây ạ:
#include <stdio.h>
#define MAX 50
void InMang(const int array[MAX][MAX], const int length) {
for (int dong = 0; dong < length; dong++) {
for (int cot = 0; cot < length; cot++) {
printf("%4d", array[dong][cot]);
}
printf("\n");
}
}
void DatGiaTri(int array[MAX][MAX], const int length, const int number) {
for (int dong = 0; dong < length; dong++) {
for (int cot = 0; cot < length; cot++) {
array[dong][cot] = number;
}
}
}
void TaoMang(int array[MAX][MAX], const int length) {
for (int dong = 1; dong < length - 1; dong++) {
for (int cot = dong; cot < length - dong; cot++) {
array[dong][cot] = array[dong][cot] - dong;
}
}
}
int main() {
int array[MAX][MAX];
int number = 4;
int length = (number * 2) - 1;
DatGiaTri(array, length, number);
TaoMang(array, length, number);
InMang(array, length);
return 0;
}
Em rất mong gợi ý của mọi người ạ