c언어를 공부하는 토목과 학생입니다.
왜하는지는 그냥..... 뭐... 그렇게 됬어요.(눈물+먼산..)
(눈물을 닦으며,)그나저나 이번에 배열을 배웠는데, 궁금한 것이 있어서 질문드려요.
배열을 20X20으로 해서
(빈공간 9칸) (별1개) (별1개) (빈공간9칸)
(빈공간 8칸) (별2개) (별2개) (빈공간8칸)
이런식으로 증가했다가.
(빈공간1칸)(별9개)(별9개)(빈공간1칸)
(별20개)
(별20개)
이런 식으로 줄어드는 정 마름모 꼴? 을 만들고 싶어요.
이렇게 만들고 싶은데,
위에 빨간 화살표 마냥 순서대로 나오고 싶어요.(당연한 말이겠지만...)
그러려면 10개 출력하고 초기화 10개출력하고 \n,
10개 출력하고 초기화, 10개출력하고\n 이렇게 하고 싶어요.
결국 별 삼각형 4개 를 배열에 집어 넣어서 출력하는 건데,
감이 오지 않아요.
초기화를 해야 하는데, 어떻게 해야 할지도 감도 안오고...
2차원 배열,if,while, for 정도 밖에 안배워서 포인터같은걸로는 하면 안되고(못하고...)
해야 하는데 아무리 짱구를 굴려도 답이 나오지 않습니다.
간략한 도움정도만 주셔도 정말 감사하겠습니다.
뭐 이쯤에서 초기화 값을 넣으면 좋다 이런것만이라도....
ps.아래 식은 교수님이 이거 활용해서 해라 라고 던져 주신건데.... 모..모르겠어요(부들부들) 오히려 더 햇갈려요.....
#include <stdio.h>
#define MAT_SIZE 10
void main(){
int i , j , dis;
char Matrix[MAT_SIZE][MAT_SIZE];
for(i=0;i<MAT_SIZE;i++) {
for(j=0;j<MAT_SIZE;j++) Matrix[i][j] = ' ';
}
for(i=0;i<MAT_SIZE;i++) {
for(j=0;j<MAT_SIZE;j++) {
dis = i - j;
if (dis<MAT_SIZE)
Matrix[i][j] = '*';
}
}
for(i=0;i<MAT_SIZE;i++) {
for(j=0;j<MAT_SIZE;j++)
printf("%c ", Matrix[i][j]);
printf("\n");
}
}