디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

아아아...런타임에러 원인좀 알려주실분...

ㅁㅌ(115.126) 2012.03.05 21:34:20
조회 67 추천 0 댓글 4

형들 내가 지금 허접하게 스도쿠 게임을 C로 짜고 있는데 런타임 에러에서 막혀부렀어

키 조작 함수에서 숫자를 입력하면 런타임 에러가 뜨네

이런거 익숙치 않아서 당황스러워.. 도와줘요

소스는 아래

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <Windows.h>
#include <conio.h>

#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ESC 27
#define space 32
#define Enter 13

void BlankArray_init (int *black_dupli[9]);
void Blank (int blank_dupli[][9], int select);
void Su_Rand (int temp[][9] , int key[][9] , int select);
void Playing_Game ();
void check_n_print(int corr, int key[][9], int x, int y);


void gotoxy(int x,int y)

 COORD xy = {x,y};
 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),xy); 
}

void SetColor(int bcolor,int tcolor) //bcolor는 배경 색, tcolor는 텍스트 색
{
    HANDLE hcon; 
    hcon = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hcon,(bcolor<<4)|tcolor);

enum Color  //콘솔에서 사용하는 색상
{
 BLACK,    BLUE,    GREEN, CYAN, RED,  MAGENTA,  BROWN, LIGHTGRAY,
  DARKGRAY,  LIGHTBLUE,  LIGHTGREEN, LIGHTCYAN, LIGHTRED,  LIGHTMAGENTA,  YELLOW,  WHITE
};

static int key[9][9]; //정답지
int blank_dupli[9][9]; //빈칸 뚫기 검사

void main ()
{
 int select = 0;
 


 
 //int su2[9][9];
 int temp[9][9] =
  {
   {1,2,3,4,5,6,7,8,9},
   {4,5,6,7,8,9,1,2,3},
   {7,8,9,1,2,3,4,5,6},  
   {2,3,4,5,6,7,8,9,1},
   {5,6,7,8,9,1,2,3,4},
   {8,9,1,2,3,4,5,6,7},   
   {3,4,5,6,7,8,9,1,2},
   {6,7,8,9,1,2,3,4,5},
   {9,1,2,3,4,5,6,7,8}
  };

 Su_Rand (temp, key, 10);
 Blank (blank_dupli, 1);
 Playing_Game();
}

void Su_Rand (int temp[][9] , int key[][9] , int select)
{
 int  a, b, i, j, k, l, Rand, temp1;


 srand(time(NULL));

 for (a = 0 ; a < (select+10) ; a++)
 {
  Rand = rand() % 3;
  i = (rand() % 3) + (Rand * 3);
  j = (rand() % 3) + (Rand * 3);

  for (b = 0 ; b < 9 ; b++)
  {
   temp1 = temp[b][i];
   temp[b][i] = temp[b][j];
   temp[b][j] = temp1;
  }
 }

 for (a = 0 ; a < (select+10) ; a++)
 {
  Rand = rand() % 3;
  k = (rand() % 3) + (Rand * 3);
  l = (rand() % 3) + (Rand * 3);

  for (b = 0 ; b < 9 ; b++)
  {
   temp1 = temp[k][b];
   temp[k][b] = temp[l][b];
   temp[l][b] = temp1;
  }
 }

 for (a = 0 ; a < 9 ; a++)
 {
  for (b = 0; b < 9 ; b++)
  {
   key[a][b] = temp[a][b];
  }
 }
 
 for (i = 0 ; i < 9 ; i++)
 {
  for (j = 0 ; j < 9 ; j++)
  {
   printf ("%d" , temp[i][j]);
  }
  printf ("n");
 }


}


void Blank (int blank_dupli[][9], int select)
{
 int i, k, l;
 
 BlankArray_init (blank_dupli); //배열을 0으로 초기화

 for (i = 0 ; i < (5*select)+10 ; i++)
 {
  k = rand() % 9;
  l = rand() % 9;
  //k = (4*(rand() % 9))+3;
  //l = (2*(rand() % 9))+1;
  if (blank_dupli[k][l] == 0)
  {
   SetColor(WHITE,NULL);
   gotoxy(k,l);
   printf(" ");
   blank_dupli[k][l] = 1; //중복으로 빈칸이 생성되는걸 방지
  }
 }
 SetColor (BLACK,WHITE);
 gotoxy (30,30);
}

void BlankArray_init (int blank_dupli[][9])
{
 int i, j;

 for (i = 0; i < 9; i++)
 {
  for (j = 0; j < 9; j++)
  {
   blank_dupli[i][j] = 0;
  }
 }
}

void Playing_Game (int black_dupli[][9])
{
 int i, j, buffer, corr;
 int x = 0, y = 0;
 gotoxy (x,y);

 while (buffer = getch())
 {
  switch (buffer)
  {
  case UP:
   if (y == 0)
    break;
   y -= 1;
   gotoxy (x,y);
   break;
  
  case DOWN:
   if (y == 8)
    break;
   y += 1;
   gotoxy (x,y);
   break;

  case LEFT:
   if (x == 0)
    break;
   x -= 1;
   gotoxy(x,y);
   break;

  case RIGHT:
   if (x == 8)
    break;
   x += 1;
   gotoxy (x,y);
   break;

  case ESC:
   gotoxy(0,9);
   return;
   break;
  default :
   break;

  }
  if ( 49 <= buffer && buffer <= 58 )
  {
   corr = buffer - 48;

   if (black_dupli[x][y] == 0) //0이면 빈칸이 아닌 곳  <-------------디버깅해보니까 여기서 에러가 남 ㅠㅠ
   {
    gotoxy(0,20);
    printf("문제지 숫자입니다. 변경할 수 없습니다n");
    gotoxy(x,y);
   }
   else //1이면 빈칸이 뚫린 곳
   {
    check_n_print (corr, key, x, y);
   }

  }
 }
}
void check_n_print(int corr, int key[][9], int x, int y)
{
 if (corr == key[x][y])
 {
  SetColor (NULL,BLUE);
  printf("%d", corr);
 }
 else
 {
  SetColor (NULL,RED);
  printf("%d", corr);
 }
}

시간되는 고수님들 도와줘요 ㅠ
그리고 디버그모드에서는 에러뜨는데 릴리즈 모드에서는
에러 안뜨는 이유가 뭐죠

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
306105 갤럭시 s2 사용하는 사람들은 필독할것 [1] 갤쎅쓰2(124.197) 12.03.06 68 0
306103 UVB-76 Tanny Tales갤로그로 이동합니다. 12.03.06 40 0
306102 개강시즌을 맞아 C언어 강의를 씁니다 헤헤 [12] 남대생.갤로그로 이동합니다. 12.03.06 157 0
306101 쓰래드가 죽었는지 여부 확인 어케 하냐 [2] ㅇㅇ(121.162) 12.03.06 75 0
306100 프갤성님들 도와주세요 안드로이드 개발관련 간단한거 [1] 메리프갤로그로 이동합니다. 12.03.06 52 0
306098 나의 사마귀 유치원 재미 없는거야? [1] 생물학(175.120) 12.03.06 56 0
306096 성님들 컴퓨터공학과 진로에대해서 질문좀요 [1] 퀴퀴퀴갤로그로 이동합니다. 12.03.06 94 0
306094 ㅅㅂ 감격했다 [5] 마실나감갤로그로 이동합니다. 12.03.06 126 0
306093 컴공으로 유명한 대학? [11] 파괘신문복형(121.173) 12.03.06 438 0
306091 이거 어디가 잘못된거? [5] 마실나감갤로그로 이동합니다. 12.03.05 82 0
306090 중고딩을 위한 사마귀 유치원 [3] 생물학(175.120) 12.03.05 88 5
306089 컴공으로 전과하려고 하는데요 [6] (121.157) 12.03.05 136 0
306088 개인이 검색프로그램 구축하는게 가능한가요? [3] 개짐(125.131) 12.03.05 145 0
306087 삼성 자기소개서 쓰기 싫타 ㅠㅠ [성대아싸]갤로그로 이동합니다. 12.03.05 83 1
306084 근데 달리다가 오줌 누는거 가능하냐? ㅇㅇㅇ(121.144) 12.03.05 55 0
306083 학교컴 사이트제한 뚫는법좀ㅋ [2] 마실나감갤로그로 이동합니다. 12.03.05 131 0
306082 진지한 이야기로 궁금한게 하나 있는데 자바로 서버 맹들어본 사람? [20] 찌부된초코빵갤로그로 이동합니다. 12.03.05 159 0
306080 내일은 정상인이 될께 다만 오늘은 좀 슬픈일이 있어서.. [3] 찌부된초코빵갤로그로 이동합니다. 12.03.05 69 0
306079 오늘 드립 많이 쳤다 찌부된초코빵갤로그로 이동합니다. 12.03.05 27 0
306077 내가 오늘 서버프로그램에서 리눅스를 짰다. 찌부된초코빵갤로그로 이동합니다. 12.03.05 67 0
아아아...런타임에러 원인좀 알려주실분... [4] ㅁㅌ(115.126) 12.03.05 67 0
306072 피자 열풍이 부는데 그럼 나도 [2] Dawnwalkre갤로그로 이동합니다. 12.03.05 88 0
306071 malloc은 재앙의 근원이다. [6] 찌부된초코빵갤로그로 이동합니다. 12.03.05 145 0
306070 이번학기 올 A+ 못 받으면 [3] 찌부된초코빵갤로그로 이동합니다. 12.03.05 110 0
306069 근데 임의의 자료 갯수 , 구조체에다 받을려면 [2] ㅇㅇㅇ(211.117) 12.03.05 59 0
306068 아.. n사 블로그 자동댓글 만드는중인데 [6] .3(175.210) 12.03.05 163 0
306066 유동닉이지만 이번학기 평점 4.1 이상 인증 못하면 [9] ggg(211.117) 12.03.05 112 0
306065 friend 구조체란 것도 있나 ???? [2] ㅁㅇㄹ(211.117) 12.03.05 62 0
306061 졸업한애들 다 공사준비하네 [2] ㅎㅎㅎ(211.117) 12.03.05 95 0
306059 어플에서 인터넷 캐시를 어떻게 가져오는거야? [2] 개짐(125.131) 12.03.05 81 0
306058 이번 4월 총선에서 한나라당이 영남에서 iljeomobolt갤로그로 이동합니다. 12.03.05 46 0
306057 프로포즈 노래 좀 좋은거 없냐? [2] 올체갤로그로 이동합니다. 12.03.05 48 0
306056 ㅋㅋㅋ 이거 졸라 우낀다. [1] iljeomobolt갤로그로 이동합니다. 12.03.05 73 0
306055 폰하고 캔커피를 합성하였다. 생물학(203.226) 12.03.05 56 0
306054 미치겟다 .. [1] ㅁㄴㅇㄹ(211.117) 12.03.05 43 0
306053 이렇게 인터페이스인가 만드는걸 어떻게 해야하나요? [9] EvilDragon갤로그로 이동합니다. 12.03.05 137 0
306052 취업준비생들아 쫄지말고 이런데나 한번 써봐라 NightWish갤로그로 이동합니다. 12.03.05 120 0
306051 너를 사랑하기 위해서... [1] 바보플머(218.155) 12.03.05 55 0
306050 고민해서 2개로 줄였는데 조언 부탁드립니다. [6] 두루미(218.39) 12.03.05 70 0
306049 내가 해킹할건아니고 해킹방지프로그램 이런거 만들고싶은데 얼마나 공부해야해 [4] Terminal(128.208) 12.03.05 159 0
306048 형들 노트북은 대기업이 진리라는게 최트루?? [4] BlueLagoon갤로그로 이동합니다. 12.03.05 134 0
306046 기술사 시험 쳐본 사람 ? [4] 올체갤로그로 이동합니다. 12.03.05 167 0
306044 C언어]재귀함수내의 변수선언에 대한 궁금증 [8] 12(59.12) 12.03.05 125 0
306041 아! 나도 가상서버 생겼다! [2] [성대아싸]갤로그로 이동합니다. 12.03.05 117 0
306040 일본어 잘 하는사람.. 이거좀 알려줘. [3] iljeomobolt갤로그로 이동합니다. 12.03.05 106 0
306039 소켓플밍떡밥점여 [1] 중간점검갤로그로 이동합니다. 12.03.05 51 0
306038 오늘은 유난히 프겔이 고요하다 서현빠돌이갤로그로 이동합니다. 12.03.05 51 0
306030 아아..... 갑이 되어 개발자를 마구 부려먹고 싶다 서현빠돌이갤로그로 이동합니다. 12.03.05 81 0
306029 저녁은 햄버거 사먹으까... iljeomobolt갤로그로 이동합니다. 12.03.05 25 0
306028 java 질문.. [2] iljeomobolt갤로그로 이동합니다. 12.03.05 87 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2