Большее значение из первого массива и меньшее из второго поменять местами - 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;
}

Объяснение кода листинга программы

  1. Включаем заголовочный файл stdio.h для возможности использования функций ввода-вывода
  2. Функция arrayChange принимает три аргумента: массивы первого и второго параметров, а также размеры этих массивов
  3. Создаем две переменные: max и min, которые будут использоваться для хранения наибольшего и наименьшего значений из массивов
  4. Инициализируем переменные index1 и index2 со значениями 0
  5. Используя цикл for, проходим по каждому элементу первого массива и находим максимальное значение, сохраняя его в переменной max и его индекс в переменной index1
  6. Используя второй цикл for, проходим по каждому элементу второго массива и находим наименьшее значение, сохраняя его в переменной min и его индекс в переменной index2
  7. Меняем значения в массивах: array1[index1] присваиваем значение min, а array2[index2] присваиваем значение max
  8. В функции main создаем два массива: array1 и array2, задаем их размер и заполняем одинаковыми значениями
  9. Вызываем функцию arrayChange, передавая ей массивы и их размеры
  10. Используя два цикла for, выводим значения массивов на экран
  11. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы