Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами - C (СИ)
Формулировка задачи:
Помогите составить программу, формирующую одномерный массив, состоящий из N целых элементов. Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами. Вычислить произведение элементов массива с четными номерами. Упорядочить отрицательные элементы массива по убыванию. Порядок следования остальных элементов не изменять. Я совершенно не могу понять логику.
Решение задачи: «Вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами»
textual
Листинг программы
int main(){
int n = 0;
printf("Vvedite razmer mas = ");
scanf_s("%d", &n);
/*Ввели размер массива с клавиатуры*/
int *mas = (int*)malloc(n*sizeof(*mas));
/*создали массив*/
for (int i = 0; i < n; i++){
printf("mas[%d] = ", i);
scanf_s("%d", &mas[i]);}
/*ввели значения для него с клавиатуры*/
int sum = 0;
for (int i = 1; i < n; i++){
sum += mas[i];
}
printf("sum = %d\n", sum);
/*нашли сумму*/
int pro = 1;
for (int i = 2; i < n; i += 2){
pro *= mas[i];
}
printf("pro = %d\n", pro);
/*нашли произведение*/
Объяснение кода листинга программы
В этом коде:
- Сначала объявляется переменная
nтипа int и ей присваивается значение 0. - Затем пользователю предлагается ввести размер массива с клавиатуры, и это значение сохраняется в переменной
n. - Далее, с помощью функции malloc, выделяется память под массив
masразмеромn. - После этого пользователю предлагается ввести значения для элементов массива с клавиатуры, и эти значения сохраняются в массиве
mas. - Затем, инициализируется переменная
sumтипа int и ей присваивается значение 0. - Далее, в цикле, начиная с индекса 1 и до n-1, суммируются значения элементов массива
mas. - После этого выводится значение переменной
sum. - Затем, инициализируется переменная
proтипа int и ей присваивается значение 1. - Далее, в цикле, начиная с индекса 2 и до n-1 с шагом 2, умножаются значения элементов массива
mas. - После этого выводится значение переменной
pro.