Функция: поменять местами минимальное и максимальное значение в массиве - C (СИ)
Формулировка задачи:
Составить программу , в результате работы которой минимальное и максимальное значение массивов С (8) и К (8) меняются местами. Написать функцию для обмена значениями. Программа нужна на языке Си, с объяснением.
Решение задачи: «Функция: поменять местами минимальное и максимальное значение в массиве»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int main(int argc, char *argv[])
{
int A[3],B[3],i,max=A[i],min=B[i];
/*Заполнение двух масивов в ручную*/
printf("A\n");
for(i=0;i<3;i++)
{
scanf("%d\n",&A[i]);
}
printf("B\n");
for(i=0;i<3;i++)
{
scanf("%d \n",&B[i]);
}
/*Ищем мах и мин числа в массивах*/
for(i=0;i<3;i++)
{
if(min > A[i])
{
min = A[i];
}
}
for(i=0;i<3;i++)
{
if(max < B[i])
{
max = B[i];
}
}
/*Меняем местами значения*/
for(i=0;i<3;i++)
{
if(A[i] == min)
{
B[i]=A[i];
}
}
for(i=0;i<3;i++)
{
if(B[i]=max)
{
A[i]=B[i];
}
}
/*Выводим массивы*/
for(i=0;i<3;i++)
{
printf("%d ",A[i]);
}
printf("\n");
for(i=0;i<3;i++)
{
printf("%d ",B[i]);
}
getch();
return 0;
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы для работы с консолью и стандартными функциями C.
- Определяется главная функция программы.
- Объявляются три массива типа int (A, B, C) и две переменные (i, max).
- Происходит заполнение массивов A и B с помощью функции scanf.
- Находится минимальное и максимальное значение в массивах A и B с помощью двух циклов for и условных операторов if.
- Происходит обмен минимального и максимального значения между массивами A и B с помощью двух вложенных циклов for и условных операторов if.
- Выводятся массивы A и B с помощью двух циклов for и функции printf.
- В конце программы вызывается функция getch для приостановки выполнения программы до нажатия клавиши.
- Программа возвращает 0, что означает успешное завершение работы.