/////////////////////////////////// // // program_5 project // // created 8/12/21 by tj // rev 0 // /////////////////////////////////// // // Program to practice with arrays // // inputs: # of elements, values // outputs: print array, reversed, largeset, smallest // /////////////////////////////////// #include "mbed.h" #include // only needed when printing // function prototypes void fill_array(int the_ary[], int num); void print_array(const int the_ary[], int num); void reverse_array(int the_ary[], int num); int minmax_array(const int the_ary[], int num, char size); int main(void){ setbuf(stdout, NULL); // disable buffering when printing // splash printf("\n\nprogram_5\n"); printf("Using Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION); printf("Welcome to my array program\n\n"); int N; int tmp; printf("How large an array would you like? "); scanf("%i", &N); int ary1[N]; // infinte loop while(1){ // fill the int array fill_array(ary1, N); // ack printf("you entered: "); print_array(ary1, N); // reverse printf("The array reversed is: "); reverse_array(ary1, N); // modifies the original array print_array(ary1, N); // min/max tmp = minmax_array(ary1, N, 'L'); printf("The largest value in your array is: %i\n", tmp); tmp = minmax_array(ary1, N, 'S'); printf("The smallest value in your array is: %i\n", tmp); printf("\n"); }// end while return 0; }// end main void fill_array(int the_ary[], int num){ int i; // index // request and read values printf("Please enter %i integer values separated by spaces: ", num); for(i = 0; i < num; i++) scanf("%i", &(the_ary[i])); return; }// end fill_array void print_array(const int the_ary[], int num){ int i; // print array for(i = 0; i < num; i++) printf("%i ", the_ary[i]); printf("\n"); return; }//end print_array void reverse_array(int the_ary[], int num){ int i; int tmp_ary[num]; // copy array for(i = 0; i < num; i++) tmp_ary[i] = the_ary[i]; // reverse array for(i = 0; i < num; i++) the_ary[i] = tmp_ary[(num - 1) - i]; return; }//end reverse_array int minmax_array(const int the_ary[], int num, char size){ int i; int min; int max; min = max = the_ary[0]; // find min and max for(i = 1; i < num; i++){ if(the_ary[i] < min) min = the_ary[i]; if(the_ary[i] > max) max = the_ary[i]; }// end for // return the desired value if(size == 'L') return max; else return min; }//end minmax_array