:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
04/12/30 19:18
일단 저런 형태로 선언은 못합니다. 어레이의 크기를 정할때는 고정된 숫자를 써야하는데 n 은 변수이기 때문에 쓸 수 없고요.. 포인터형으로 어레이 변수를 잡고, malloc 함수를 쓰면 되긴합니다.. 교수님께서 포인터를 쓰지 말라고 하셨으니.. 일단 제가 아는 한도내에서 말씀드리면요.
어레이 변수 a를 float *a; 로 잡습니다. 그리고 scanf를 써서 n을 입력받고 그 다음줄에, a=(float *)malloc(sizeof(float)*n); 이렇게 해주면 a[n] 과 같은 효과를 냅니다. 그리고 프로그램 마지막 줄에 free(a); 를 추가해 주시고요..
04/12/31 02:26
어레이의 크기를 그냥 충분히 크게 잡으면 됩니다. 1000개 ... 정도
손으로 입력하는 거니... 1000개 이상 입력할 리가 절대 없습니다. 그래도 부족하다 싶으면 10만개 정도로 잡으세요 . 포인터를 쓰지 않는다면, 방법은 static 하게 무조건 넉넉하게 메모리를 잡아주는 것밖에 없죠 . 나머지는 똑같은 방법으로 하면 됩니다 #include <stdio.h> #define MAX_SIZE 1024 int size; float array[MAX_SIZE]; main() int i; printf("몇개의 숫자를 입력하시겠습니까?"); scanf("%d", &size); for( i = 0; i < size; i++) scanf("%f", &array[i]); sort(); sort() 함수만 구현하면 되겠네요 : )
|