Поиск наименьшего элемента в массиве элементы которого вводятся с клавиатуры - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <locale.h>
#define A 10
int main()
{
setlocale(LC_CTYPE,"Russian");
int j,i,min,M[A];
printf("Введите элементы массива \n");
for(i=0;i<10;i++)
{
printf("[%i]=",i+1);
scanf ("%d",&M[i]);
}
getchar();
return 0;
}Решение задачи: «Поиск наименьшего элемента в массиве элементы которого вводятся с клавиатуры»
int min_value(int* mas, int count) {
int ret_value, i;
for(i = 1, ret_value = *mas; i < count; ++i)
if(i[mas] < ret_value)
ret_value = i[mas];
return ret_value;
}
int my_sum(int* mas, int count) {
int flag, i, total_sum;
for(flag = i = total_sum = 0; i < count; ++i)
if(i[mas] < 0 && ++flag == 2)
break;
else if(flag == 1)
total_sum += i[mas];
return flag == 2 ? total_sum : - 1;
}
Объяснение кода листинга программы
В первом функции min_value происходит поиск наименьшего элемента в массиве. Для этого используется цикл for, который проходит по всем элементам массива, начиная со второго. Переменная ret_value инициализируется значением первого элемента массива. Если в процессе прохода по массиву будет найден элемент с меньшим значением, то значение переменной ret_value будет обновлено. В конце функции возвращается найденное наименьшее значение. Во второй функции my_sum происходит поиск суммы всех отрицательных элементов в массиве. Для этого также используется цикл for, который проходит по всем элементам массива. Переменные flag и total_sum инициализируются нулевыми значениями. Если текущий элемент меньше нуля, то значение переменной flag увеличивается на единицу. Если значение переменной flag становится равным двум, то из цикла выходит и начинается следующая итерация цикла. Если значение переменной flag становится равным одному, то к переменной total_sum прибавляется значение текущего элемента. В конце функции возвращается либо сумма отрицательных элементов, либо -1, если отрицательных элементов не было.