[완료]고수님들, c언어 뉴비좀 도와주세요ㅜㅜ

dltjdals의 이미지

안녕하세요, c언어 뉴비입니다.
문제를 풀던 도중
에러코드 :timeout: the monitored command dumped core make: *** [cmd] 오류 139
가 뜨더군요, 검색해보니 잘못된 메모리에 접근했을 때 뜨는 오류인것 같은데
어디가 문제인지 모르겠네요 ㅜㅜ;;
코드가 많이 난잡하고, 제가 문제 설명도 잘 못하지만, 고수님들 부탁드립니다
아래 문제, 코드, 코드설명 달아두겠습니다

문제설명 :
숫자들이 차례대로 입력될 때 숫자들을 정렬하면
연속된 수열로 표현할 수 있는지 판별 가능한 프로그램을 작성하시오.
(연속된 수열 : 항상 i번째 숫자의 값이 (i+1)번째 숫자보다 1이 작은 정수로 이루어진 수열)

입력 :
첫 번째 줄에 입력될 숫자들의 갯수 (1~100 , ex : 3)
두 번째 줄에 숫자들 (공백으로 구분되어 입력됨 ex :1 2 3)

출력 : 연속적인 수열로 표현될 수 있다면 YES를 출력하고, 그렇지 않다면 NO를 출력함.

입/출력 예시

입력1 :
5
1 2 5 3 4

출력1 : YES

입력2 :
5
1 2 6 3 4

출력2 : NO

코드 :

 #include <stdio.h>
 
void change (int *a, int *b);   // 한 int 형 값과 다른 int형 값을 바꾸는 함수.
void Sort(int data[], int n;); // 배열을 정렬하는 함수
 
int main() {
	int input[100] = {0, }; // 숫자들이 입력 될 배열
	int a, i, fal = 0;      // i: 입력될 숫자 갯수, fal : YES/NO 판별 때 사용
 
	scanf("%d", &i);        // 입력될 숫자의 갯수 입력
 
	do {
		scanf("%d", &input[a]); // 숫자들 입력
		a++;
	} while(getc(stdin) != ' ' && a < i); // 공백문자 아니고,a가 입력될 숫자의 갯수 보다 작을 시, 입력
 
		Sort(input, i); // 숫자들 정렬함.
 
		for(a=0; a<i; a++);
			if(input[a] + 1 != input[a+1]) { // a번째 값이 a+1의 값보다 1 크지 않을 때
				printf("NO"); // NO 출력
				fal = 1; // NO
			}
 
	if(fal == 0) // 만약 NO가 출력되지 않았더라면
		printf("YES"); // YES 출력
	 return 0;
}
 
 
void change (int *a, int *b) {
	int t = *a;
	*a = *b;
	*b = t;
}
 
void Sort(int data[], int n) { // (숫자들의 배열, 입력된 숫자들의 갯수)
 
	int a, b = 0;
 
	for(a= n-1; a >0; a--);
		for( b=0; b<a; b++)
			if(data[b] > data[b+1])
				change(&data[b], &data[b+1]);
}
세벌의 이미지

for 문 질문. 세미콜론은 일부러 넣은 건가요?

for(a=0; a<i; a++);

for(a= n-1; a >0; a--);

제가 실행할 때는
timeout: the monitored command dumped core make
이런 에러는 안 나는데요?

덧.
저는 수학과 나왔는데 "연속된 수열"이라는 용어는 여기서 처음 보는 거 같네요.

dltjdals의 이미지

감사합니다 말씀대로 세미콜론 빼고 몇몇 빠진부분 다시 고쳐보니 에러 안나네요^^
소중한 시간 내주셔서 감사합니다 ^^

익명 사용자의 이미지

...
		for(a=0; a<i; a++);
			if(input[a] + 1 != input[a+1]) { // a번째 값이 a+1의 값보다 1 크지 않을 때
 
...
 
	for(a= n-1; a >0; a--);
		for( b=0; b<a; b++)
			if(data[b] > data[b+1])
...

실행시켜 본거는 아니지만, 얼핏 보니 for 문 뒤에 세미 콜론은 실수로 넣으신거 같습니다.

dltjdals의 이미지

저도 모르게 세미 콜론을 넣어버린 것 같습니다. 역시 뉴비라 실수가 많네여;;;
고치니 잘 작동하네여, 소중한 시간 내주셔서 감사합니다^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.