//-10-08 11:29
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define randomize() srand((unsigned)time(NULL))
#define random(n) (rand() % (n))
void* getArray(int *arrNumbers, int iStart, int iEnd){
int i;
int iNum=0;
//int arrNumbers [iEnd - iStart + 1];
randomize();
printf("Total Array Lengt=%d\n",iEnd-iStart + 1);
for (i=0; i<(iEnd-iStart+1); i) {
iNum = random(iEnd+1);
if(iNum >= iStart){
//printf("%d ",iNum);
arrNumbers[i] = iNum;
//printf("%d ",arrNumbers[i]);
i++;
}
}
//return arrNumbers;
}
void printResult(int *arrN, int iLength){
int i;
//printf("\n\nResult value\n");
for(int i=0; i<iLength;i++){
printf("%d ",arrN[i]);
}
}
// 배열정렬 - 오름차순정렬
void ascSorting(int iCount, int *arrNumber){
int iNext, iCurrent;
int iTemp;
for(iCurrent=0; iCurrent<iCount-1; iCurrent++){
for(iNext=iCurrent; iNext<iCount; iNext++){
if(arrNumber[iCurrent]>arrNumber[iNext]){
iTemp=arrNumber[iCurrent];
arrNumber[iCurrent]=arrNumber[iNext];
arrNumber[iNext]=iTemp;
}
}
}
}
// 배열정렬 - 내림차순정렬
void descSorting(int iCount, int *arrNumber){
int iNext, iCurrent;
int iTemp;
for(iCurrent=0; iCurrent<iCount-1; iCurrent++){
for(iNext=iCurrent; iNext<iCount; iNext++){
if(arrNumber[iCurrent]<arrNumber[iNext]){
iTemp=arrNumber[iCurrent];
arrNumber[iCurrent]=arrNumber[iNext];
arrNumber[iNext]=iTemp;
}
}
}
}
int main(void){
int arrN[30];
getArray(arrN,21,50);
printf("\nOriginal Nubmers\n");
printResult(arrN,30);
ascSorting(30,arrN);
printf("\nAscent Numbers\n");
printResult(arrN,30);
descSorting(30,arrN);
printf("\nDescent Numbers\n");
printResult(arrN,30);
return 0;
}
01_random.cpp |
'방송대 > C' 카테고리의 다른 글
| C언어 과제 2번째 (0) | 2008/10/16 |
|---|---|
| MinGW 윈도우용 GCC 디클립스와 연동에 쓰면 좋다 (0) | 2008/10/07 |
| C언어 프로그램 DEV C (0) | 2008/10/07 |
| 난수 발생 및 오름 내림 차순 정렬 (3) | 2008/10/07 |
| C프로그래밍 과제물 (0) | 2008/09/18 |
01_random.cpp