Question: descript each lines for each functions #include void ArrayInfo(int size, int array []) { int sum = 0; int min = array[0]; int max =
descript each lines for each functions
#include
void ArrayInfo(int size, int array []) {
int sum = 0;
int min = array[0];
int max = array[0];
for (int i = 0; i < size; i++) {
if(max < array[i]) {
max = array[i];
}
if(min > array[i]) {
min = array[i];
}
sum += array[i];
}
printf("Sum: %d ", sum);
printf("Min: %d ", min);
printf("Max: %d ", max);
printf("Avg: %f ", ((double)sum)/size);
}
void swap(int * var1, int * var2) {
int temp = *var1; *var1 = *var2; *var2 = temp;
}
void ReverseArray( int size, int *ptr2Array) {
int i, j, max_idx;
for (i = 0; i < size-1; i++) {
max_idx = i;
for (j = i+1; j < size; j++)
if (ptr2Array[j] > ptr2Array[max_idx])
max_idx = j;
swap(&ptr2Array[max_idx], &ptr2Array[i]);
}
}
void PrintArray(int size, int array []){
for (int i = 0; i < size; i++) {
printf("array[%d] = %d, address: %p ", i, array[i], &array[i]);
}
}
void SelectionSort(int size, int array[]) {
int i, j, min_idx;
for (i = 0; i < size-1; i++) {
min_idx = i;
for (j = i+1; j < size; j++)
if (array[j] < array[min_idx])
min_idx = j;
swap(&array[min_idx], &array[i]);
}
}
int main() {
int data [] = {2, 7, 8, -8, 1, 9, 3, 5};
SelectionSort(sizeof(data)/sizeof(int), data);
printf("Sorted array: ");
PrintArray(sizeof(data)/sizeof(int), data);
ReverseArray(sizeof(data)/sizeof(int), data);
printf("Reversed array: ");
PrintArray(sizeof(data)/sizeof(int), data);
ArrayInfo(sizeof(data)/sizeof(int), data);
return 0;
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
