Вычислить произведение положительных элементов массива - C (СИ) (70546)
Формулировка задачи:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- произведение положительных элементов массива;
- сумму элементов массива, расположенных до минимального элемента.
Решение задачи: «Вычислить произведение положительных элементов массива»
textual
Листинг программы
#include <stdio.h>
void main()
{
int N, i, index=0;
float proz=1.0, min, sum=0.0;
printf("N = ");
scanf("%d", &N);
float mas[N];
//Считываем массив
for(i=0; i<N; i++)
{
printf("%d: ", i);
scanf("%f", &mas[i]);
}
//Вычисляем произведение. Ищем минимальный элемент и его индекс.
min = mas[0];
for(i=0; i<N; i++)
{
if(mas[i]>0) proz*=mas[i];
if(mas[i]<min)
{
index = i;
min = mas[i];
}
}
for(i=0; i<index; i++)
{
sum+=mas[i];
}
printf("Proz = %f Sum = %f", proz, sum);
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные: — N (количество элементов в массиве) — i (счетчик для цикла) — index (индекс минимального элемента) — proz (произведение положительных элементов массива) — min (минимальный элемент массива) — sum (сумма положительных элементов массива)
- С помощью функции scanf считывается значение N.
- Создается массив типа float с именем mas и размером N.
- С помощью цикла for и функции scanf считываются значения элементов массива.
- Переменная min инициализируется значением первого элемента массива.
- В цикле for перебираются все элементы массива. Если элемент больше нуля, то его значение умножается на proz. Если элемент меньше min, то он становится новым min, а его индекс — новым index.
- В цикле for с 0 до index-1 суммируются элементы массива.
- Выводятся значения proz и sum.
- Значения переменных: — N (количество элементов в массиве) — считывается с помощью scanf в строке 20. — i (счетчик для цикла) — используется в цикле for, инициализируется значением 0, а затем увеличивается на 1 при каждой итерации. — index (индекс минимального элемента) — инициализируется значением 0, а затем изменяется в цикле for, если находится меньший min. — proz (произведение положительных элементов массива) — инициализируется значением 1.0, а затем умножается на каждый положительный элемент массива. — min (минимальный элемент массива) — инициализируется значением первого элемента массива, а затем может изменяться, если находится меньший элемент. — sum (сумма положительных элементов массива) — инициализируется значением 0.0, а затем увеличивается на каждый положительный элемент массива в цикле for.