언어/c언어

baeckJ 10818

파아랑새 2017. 1. 22. 10:48

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct baekj10818 {
 int Large;
 int Small;
 int Count;
 int *Number;
}baekj10818;

baekj10818* creaTnode() {
 baekj10818* TmpNode = NULL;
 TmpNode = (baekj10818*)malloc(sizeof(baekj10818));
 return TmpNode;
} // end of creaTnode function

void Fun_SizeSetting(baekj10818** b) {
 int _size = 0;
 scanf("%d", &(** b).Count);
 _size = (** b).Count;
 (** b).Number = (int*)malloc(sizeof(int)*_size);
 memset((** b).Number, 0, sizeof(int)*_size);
} // end of Fun_SizeSetting function

void Fun_LargSmall(baekj10818** b) {
 int i; // index
 int _size = (** b).Count;
 int _large = 0;
 int _small = 0;
 for (i = 0; i < _size; i++) scanf("%d", &(** b).Number[i]);
 for (i = 0; i < _size; i++) {
  if (i == 0) {
   _large = (** b).Number[i];
   _small = (** b).Number[i];
  } else {
   if ((** b).Number[i] > _large) {
    _large = (** b).Number[i];
   }
   if ((** b).Number[i] < _large) {
    if ( (** b).Number[i] < _small ) {
     _small = (** b).Number[i];
    }
   }
  }
 }
 printf("%d %d\n", _small, _large);
} // end of Fun_LargSmall function

int main(void) {
 baekj10818* start = NULL;
 start = creaTnode();
 if (start == NULL) {
  exit(1);
 } else {
  memset(start, 0, sizeof(baekj10818));
  Fun_SizeSetting(&start);
  Fun_LargSmall(&start);
  free(start);
 }
 return 0;
} // end of main function