c·c++/c 프로그래밍

2차원 테이블 랜덤하게 섞기

바로이순간 2012. 3. 30. 09:44

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main() {

  int i,j,p1,p2, tmp, size=4;

  int table[4][4];


  srand(time(NULL));

  for(i=0;i<size;i++) {

    for(j=0;j<size;j++) {

      table[i][j]=i*size+j+1;

    }

  }

  for(i=0;i<size;i++) {

    for(j=0;j<size;j++) {

      tmp=table[i][j];

      p1=rand()%size;

      p2=rand()%size;

      table[i][j]=table[p1][p2];

      table[p1][p2]=tmp;

    }

  }


  for(i=0;i<size;i++) {

    for(j=0;j<size;j++) {

      printf("%4d",table[i][j]);

    }

    printf("\n");

  }



  return 0;

}