'과제물'에 해당되는 글 1건

  1. 2008/10/16 C언어 과제 2번째

#include <stdio.h>
#include <stdlib.h>

//90도씩 변환
void changeArr(int arr[3][3]);

// 화면에 출력
void out(int arr[3][3]);

// 배열 복사
void copyArray(int arrSrc[3][3], int arrTar[3][3]);

//배열 임시
int arrTemp[3][3] = {
                      {1,2,3},
                      {8,9,4},
                      {7,6,5}};

int main()
{
  int i,j;
 
  //실 데이터
  int arrBox[3][3]={
                      {1,2,3},
                      {8,9,4},
                      {7,6,5}};
 
  printf("\n9개의 숫자를 입력하세요.\n");

  for(i=0; i<3; i++){
    for(j=0; j<3; j++){
      scanf("%d",&arrBox[i][j]);
    }
  }

  //첫번째 행 출력
  out(arrBox);

  //90도 회전 
  changeArr(arrBox);
  copyArray(arrTemp,arrBox);
  out(arrBox);
 
  //180도 회전
  changeArr(arrBox);
  copyArray(arrTemp,arrBox);
  out(arrBox);
 
  //270도 회전
  changeArr(arrBox);
  copyArray(arrTemp,arrBox);
  out(arrBox);
 
  return 0;
}

//90도 변환
void changeArr(int arr[3][3]){
  int i,j,x=0,y=0;

  for(i=0; i<3; i++){
    printf("\n");
    for(j=2; j>=0; j--){
      arrTemp[x][y] = arr[j][i];
      //printf("arr[%d][%d]=%d",x,y,arrTemp[x][y]); 
      y++;
      if(j==0){
        y=0;
        x++;
      }
    }
  }
}

// 화면에 출력
void out(int arr[3][3]){
  int i,j;
  for(i=0; i<3; i++){
    printf("\n");
    for(j=0; j<3; j++){
      printf("%7d",arr[i][j]);
    }
  }
}

// 배열 복사
void copyArray(int arrSrc[3][3], int arrTar[3][3]){
  int i,j;
  for(i=0; i<3; i++){
    for(j=0; j<3; j++){
      arrTar[i][j] = arrSrc[i][j];
    }
  }
}

02_lotaion.c

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

'방송대 > C' 카테고리의 다른 글

C언어 과제 2번째  (0) 2008/10/16
MinGW 윈도우용 GCC 디클립스와 연동에 쓰면 좋다  (0) 2008/10/07
C언어 프로그램 DEV C  (0) 2008/10/07
난수 발생 및 오름 내림 차순 정렬  (3) 2008/10/07
C프로그래밍 과제물  (0) 2008/09/18
Posted by 때찌1
이전버튼 1 이전버튼