초보라고 하셨는데.. 작성하신 코드가 훌륭하군요. 짝짝짝~~
그럼 약간의 힌트만 드리면 되겠습니다.
화면으로 출력하고 있는 것을 파일로 출력하려면,
1. 먼저 fopen() 함수로 파일스트림을 생성합니다.
2. 생성된 파일스트림을 인자로 넘기면서 fprintf()를 호출합니다.
3. fclose()로 파일스트림을 닫습니다.
볼랜드 C++을 쓰신다고 하셨으니, 각각의 함수에 대해서는 볼랜드 C++에서 함수 이름 쓰고 F1만 치면
아주 친절하고 자세한 헬프가 나오니 참고하세요.
그럼...
황정옥 님이 쓰신 글 :
: 리포트인데 마감일이 지났는데두 아직두 못내구 있네여.
: 제실력으로는...ㅠ.ㅠ 혼자 해볼려구 했는데 안되네여 도와주세요...
: 볼렌드 c++로 수업하거든여 매직 스퀘어인데..
: #include<stdio.h>
:
: #define MaxSize 77 //최대 스퀘어 크기 지정
: int square[MaxSize][MaxSize];
: void main()
: {
:
: int n,k,l,j,key; //변수 지정
:
: //아래코드는 신상정보 표시
: printf("____________________________________________________________________________\n");
: printf("\n 자료구조\n");
: printf(" 동의공업대학 인터넷정보과\n");
: printf(" 200153319 황정옥”);
: printf("\n___________________________________________________________________________\n");
: printf("매직 스퀘어 크기 입력 [01-77] : ");
: scanf("%d",&n);
:
: if ((n>(MaxSize))||(n<1)) { //범위가 넘었을때 메세지
: printf("\n[도우미] : 범위가 넘었습니다.\n");
: printf(" 범위는 1에서 77까지입니다.\n");
: }
:
: else if (!(n%2)) { //짝수일때 메세지
: printf("\n[도우미] : 짝수입니다. \n");
: printf(" 짝수는 매직스퀘어 형식에 안 맞아요.\n" );
: }
: else {
:
: for (int i=0;i< n;i++) //변수 i 초기화
: for(int j=0;j< n;j++)
: square[i][j]=0;
: square[0][(n-1)/2]=1; //맨처음위치. 즉 맨위가운데 시작위치.
:
: key=2;
: i=0;
: j=(n-1)/2;
: while(key<=n*n){
: if (i-1< 0) k=n-1;else k=i-1; //현 위치에서 왼쪽위로 옮김
: if (j-1< 0) l=n-1;else l=j-1;
: if (square[k][l]) i=(i+1)%n; //만일 왼쪽위에 값이 있으면 아래로 옮김
: else {
: i=k;
: j=l;
: }
: square[i][j]=key; //실제로 대입될 수
: key++;
: }
:
: printf("\n매직 스퀘어 결과 출력 \n\n"); //출력화면
: for (i=0;i< n;i++){
: for (j=0;j< n;j++)
: if (square[i][j] < 10) printf(" %d ",square[i][j]); //화면맞추기위해
: else if (square[i][j] < 100) printf(" %d ",square[i][j]); //화면맞추기위해
: else printf("%d ",square[i][j]);
:
: if (!(j%n)) printf("\n");
:
:
: }
: }
: printf("\n아무키를 누르시면 끝나요.");
:
: }
:
: 이까지했는데 이걸 파일로 출력하려면 fprintf 이걸 쓰라구 하던데, 아직 그건안배웠거든여 그리고 지금 소스는 결과값이 합계가 안나와요! 이렇게 나와야 하는데..
: 3x3의 경우
: 합
: 값1 값2 값3 합
: 값4 값5 값6 합
: 값7 값8 값9 합
: 합 합 합 합 이런식으로 나와야 하거든여 그럼 어케 고쳐야하나여? 이시간까지 눈빠져라 이러구 있습니다.. 낮에는 회사서 일하고, 밤에는 학교가고 ~ 무자게 힘드네여...아직 씨에는 무지 초보라서 잘아시는분들 갈켜주세여~
: 제발 ㅠ.ㅠ
:
|