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

Узнай цену своей работы

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

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

Решение задачи: «Большее значение из первого массива и меньшее из второго поменять местами»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. void arrayChange(int array1[], int array2[], int size1, int size2) {
  4.     int max = array1[0];
  5.     int min = array2[0];
  6.     int index1 = 0;
  7.     int index2 = 0;
  8.  
  9.     for ( int i = 0; i < size1; i++ ) {
  10.         if ( max < array1[i] ) {
  11.             max = array1[i];
  12.             index1 = i;
  13.         }
  14.     }
  15.     for ( int j = 0; j < size2; j++ ) {
  16.         if ( min > array2[j] ) {
  17.             min = array2[j];
  18.             index2 = j;
  19.         }
  20.     }
  21.  
  22.     array1[index1] = min;
  23.     array2[index2] = max;
  24. }
  25.  
  26. int main() {
  27.     int size1 = 5;
  28.     int array1[] = {4, 2, 1, 5, 3};
  29.     int size2 = 5;
  30.     int array2[] = {4, 2, 1, 5, 3};
  31.     int last1 = size1 - 1;
  32.     int last2 = size2 - 1;
  33.  
  34.     arrayChange(array1, array2, size1, size2);
  35.  
  36.     for ( int i = 0; i < last1; i++ ) {
  37.         printf("%d ", array1[i]);
  38.     }
  39.     printf("%d\n", array1[last1]);
  40.  
  41.     for ( int j = 0; j < last2; j++ ) {
  42.         printf("%d ", array2[j]);
  43.     }
  44.     printf("%d\n", array1[last2]);
  45.  
  46.     return 0;
  47. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы