Большее значение из первого массива и меньшее из второго поменять местами - 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;
- }
Объяснение кода листинга программы
- Включаем заголовочный файл stdio.h для возможности использования функций ввода-вывода
- Функция arrayChange принимает три аргумента: массивы первого и второго параметров, а также размеры этих массивов
- Создаем две переменные: max и min, которые будут использоваться для хранения наибольшего и наименьшего значений из массивов
- Инициализируем переменные index1 и index2 со значениями 0
- Используя цикл for, проходим по каждому элементу первого массива и находим максимальное значение, сохраняя его в переменной max и его индекс в переменной index1
- Используя второй цикл for, проходим по каждому элементу второго массива и находим наименьшее значение, сохраняя его в переменной min и его индекс в переменной index2
- Меняем значения в массивах: array1[index1] присваиваем значение min, а array2[index2] присваиваем значение max
- В функции main создаем два массива: array1 и array2, задаем их размер и заполняем одинаковыми значениями
- Вызываем функцию arrayChange, передавая ей массивы и их размеры
- Используя два цикла for, выводим значения массивов на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д