디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅁㅌ(115.126) 2012.03.05 21:34:20
조회 71 추천 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 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
306306 이것도 팩토리알 iljeomobolt갤로그로 이동합니다. 12.03.07 59 0
306305 또다른 팩토리알 iljeomobolt갤로그로 이동합니다. 12.03.07 45 0
306304 나 이제 코더 안하고 개발자 할껀데.. 도움좀.. 달걀소년갤로그로 이동합니다. 12.03.07 62 0
306303 팩토리알은 이걸로 끝내자 [1] iljeomobolt갤로그로 이동합니다. 12.03.07 80 0
306302 게임을 하면 사람이 폭력적으로 변한다. 퓨리님(211.234) 12.03.07 69 0
306301 아 sqlite 좋근 [성대아싸]갤로그로 이동합니다. 12.03.07 35 0
306298 요즘 한국 개발자의 대우가 좋아졌다는게 사실이냐?!! 서현빠돌이갤로그로 이동합니다. 12.03.07 122 0
306297 Ynobe 보라능 [13] 퓨리님(211.234) 12.03.07 134 0
306295 [자바국비교육]무료수강에 지원금까지 받는 교육 마법사(112.216) 12.03.07 62 0
306294 [자바국비교육] 자바국비지원으로 무료교육 지원금까지 고고~ 마법사(112.216) 12.03.07 91 0
306292 공부를 왜 하는거냐? [3] 바보플머(218.155) 12.03.07 155 0
306290 이거 왜 안되는거에요 [2] rnmn갤로그로 이동합니다. 12.03.07 62 0
306289 프갤에서 수학 이야기 나올 때 짜증나는 경우... [1] 바보플머(218.155) 12.03.07 116 0
306288 초고수형님들 학교에서 어셈블리어 프로젝트과제 있는데 어셈블리어 어려움? [13] 큰일났다(118.221) 12.03.07 170 0
306287 횽들 API 와 MFC를 배운다는 것과 할줄안다는게 뭔 뜻인가요? [10] 1234321(169.229) 12.03.07 175 0
306286 삽질 능력 이모군(175.114) 12.03.07 37 0
306279 자바와 자바스크립트의 관계는 [2] 일기는일기장에갤로그로 이동합니다. 12.03.07 85 0
306277 술먹고 래방가는건 정말 호구짓이다 NightWish갤로그로 이동합니다. 12.03.07 75 0
306275 asp.net 500 에러 발생 원인과 인위적 으로 에러 일으키는법 올체갤로그로 이동합니다. 12.03.07 39 0
306272 자바스크립트 함수 관련 질문요. [4] Ynobe갤로그로 이동합니다. 12.03.07 61 0
306271 Deitel이 쓴 c how to progam 이거 번역판 있음? [2] Lincredible갤로그로 이동합니다. 12.03.07 67 0
306270 맨날 운동을 쳐 했더니... 남대생.갤로그로 이동합니다. 12.03.07 51 0
306268 시작값부터 종료값까지의 총합중에서 짝수만 뽑는방법... [39] ㅇㅇ..(59.30) 12.03.07 127 0
306266 형들 하드디스크 하나에 os여러개 깔려면 어떻게 해야됨? [2] 스노플갤로그로 이동합니다. 12.03.07 87 0
306265 대학교 프로그래밍 어느정도로 어려워? [2] 일기는일기장에갤로그로 이동합니다. 12.03.07 87 0
306264 red bull 이 각성제인지 모르고 음료수처럼 마심 ㅋㅋㅋ [6] 일기는일기장에갤로그로 이동합니다. 12.03.07 124 0
306263 Duck Typing 이 도대체 뭐야? [2] 일기는일기장에갤로그로 이동합니다. 12.03.07 68 0
306260 생각보다 남자들 여자보는 눈이 없다능... [7] 땡칠도사갤로그로 이동합니다. 12.03.07 189 0
306259 C 언어 버전 선택부터 막히네여 가리온↘갤로그로 이동합니다. 12.03.07 40 0
306258 C언어 비주얼 스튜디오 말고 다른프로그램 뭐 있죠? [1] 장학(124.55) 12.03.07 105 0
306256 형들ㅠㅠ대학교 수업빠지면 크리임? [1] ㅇㅇ갤로그로 이동합니다. 12.03.07 471 0
306254 GNUStep 설치하고 아이폰 앱 만들어서 내 아이폰에 설치 가능??? [2] 아이폰질문(147.6) 12.03.07 100 0
306253 프로그래밍용 노트북 CPU가 1.6이랑 2.4 차이 많이 나옴? [4] 늅늅늅(210.93) 12.03.07 117 0
306252 삼성sds, LG CNS, 이런데가 대기업 SI 인가요? [1] 중컴(118.32) 12.03.07 286 0
306251 VS에 중괄호 삭제 후 자동 줄맞춰주는 기능없나? [2] 궁금이(59.13) 12.03.07 47 0
306250 삼전 공채 존경하는 인물에 데니스리치 썻듬 ㅎㅎㅎ [성대아싸]갤로그로 이동합니다. 12.03.07 295 0
306245 ㅅㅂ 우분투 sudo버그때매 돌아버리겠네 [1] -_-)(59.187) 12.03.07 79 0
306244 임베하는데 재미없다 3(121.169) 12.03.07 56 0
306243 이틀연속으로 레드불하고 번 인텐스 인지를 먹었는데.... [1] 야요이갤로그로 이동합니다. 12.03.07 71 0
306241 프로그램용키보드 [5] 청축(121.129) 12.03.07 201 0
306237 맨붕이다 씨발 ㅇㅇ갤로그로 이동합니다. 12.03.07 54 0
306234 요즘은 중3짜리가 네트워크, C 강의를 블로그에 쓰데 [2] 남대생.갤로그로 이동합니다. 12.03.07 218 0
306233 프로그래머가 영어를 공부하는 이유 바보플머(218.155) 12.03.07 91 0
306232 프로그래머가 수학을 공부하는 이유 바보플머(218.155) 12.03.07 100 0
306231 프로그래밍용으로 노트북 사려 하는데 레노버 e320어떨까요 [1] ㄴㅇㄴㅇ(58.238) 12.03.07 134 0
306229 입출력에 관해서 getch 일때 질문좀요 :( [1] 남대생.갤로그로 이동합니다. 12.03.07 56 0
306228 요즘 퇴근후에 최진기의 생존 경제 보고 있는데 많이 배우는 듯 하다 [1] 서현빠돌이갤로그로 이동합니다. 12.03.07 70 0
306227 고갱님들이 개발자를 까는 사이트가 있넹~ [4] 서현빠돌이갤로그로 이동합니다. 12.03.07 176 0
306226 형들 텍스트파일을 줄단위로 불러와서 검색해주는 프로그램 좀 알려줌메.. 채태인홈런갤로그로 이동합니다. 12.03.07 62 0
306225 잘 몰라서그러는데 아아티뱅X 가면 안되는이유가? [1] 파워트윈테일갤로그로 이동합니다. 12.03.07 115 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2