C언어 초보 질문
글쓴이: jhs0315 / 작성시간: 토, 2016/03/05 - 9:15오후
안녕하세요
c언어 공부 시작한 지 얼마 안된 학생입니다.
4천만명을 버블소트로 돌려서 걸리는 시간을 측정해야 하는데요,
오류를 어떻게 해결해야 할 지 모르겠습니다 ㅠㅠ
4000만을 어떻게 입력해야 하나요... 도와주세요
#include <stdio.h>
#include <time.h>
void main()
{
int i, j, tmp=0;
double gap;
time_t startTime=0, endTime=0;
int arr[40000000];
long n=40000000L;
startTime=clock();
for(j=0; j<n-1; j++)
{
for(i=0; i<n-1-j; i++)
{
if(arr[i+1]<arr[i])
{
tmp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=tmp;
}
}
}
endTime=clock();
gap=(double)(endTime-startTime)/(CLOCKS_PER_SEC);
printf("%f초\n", gap);
} Forums:


선언하신 배열 arr에다가 입력?
선언하신 배열 arr에다가 입력을 어떻게 하는지 질문하신 거에요?
ㄸㄹㄹ...
가지고 계신 C언어 관련 책이 있으시면 대부분 앞부분에 보시면 엄청 자세히 설명되어 있어요!!
4000만(4 x 10^7 개)을 입력하려면 일반
4000만(4 x 10^7 개)을 입력하려면 일반 배열로 안될 것 같기도 하지만 for () 루프를 돌려서 만들면 간단하게는 가능합니다.
대충 규칙을 생각하신 후 1부터 6까지 입력해야 한다면
1,2,3,4,5,6
6,5,4,3,2,1
1,3,5,2,4,6
등으로 정렬 들어가지 전에 초기화를 해주시면 되죠.
댓글 달기