Большее значение из первого массива и меньшее из второго поменять местами - C (СИ)

Формулировка задачи:

Даны два двумерных массива. Необходимо из первого большее и из второго меньшее поменять местами.

Код к задаче: «Большее значение из первого массива и меньшее из второго поменять местами - C (СИ)»

textual
#include <stdio.h>
 
void arrayChange(int array1[], int array2[], int size1, int size2) {
    int max = array1[0];
    int min = array2[0];
    int index1 = 0;
    int index2 = 0;
 
    for ( int i = 0; i < size1; i++ ) {
        if ( max < array1[i] ) {
            max = array1[i];
            index1 = i;
        }
    }
    for ( int j = 0; j < size2; j++ ) {
        if ( min > array2[j] ) {
            min = array2[j];
            index2 = j;
        }
    }
 
    array1[index1] = min;
    array2[index2] = max;
}
 
int main() {
    int size1 = 5;
    int array1[] = {4, 2, 1, 5, 3};
    int size2 = 5;
    int array2[] = {4, 2, 1, 5, 3};
    int last1 = size1 - 1;
    int last2 = size2 - 1;
 
    arrayChange(array1, array2, size1, size2);
 
    for ( int i = 0; i < last1; i++ ) {
        printf("%d ", array1[i]);
    }
    printf("%d\n", array1[last1]);
 
    for ( int j = 0; j < last2; j++ ) {
        printf("%d ", array2[j]);
    }
    printf("%d\n", array1[last2]);
 
    return 0;
}

5   голосов, оценка 3.600 из 5


СОХРАНИТЬ ССЫЛКУ