Вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами - C (СИ) (75032)
Формулировка задачи:
В одномерном массиве, состоящем из и вещественных элементов, вычислить:
- сумму элементов массива, расположенных между первым и последним отрицательными элементами.
Помогите доделать пжл
#include <stdio.h>
#include <conio.h>
main () {
int a[i], i,n,sum=0;
printf("Vvedite elementi massiva");
for (i=0; i<n; i++)
{
printf(“a[%d]=”, i+1);
scanf(“%d”, &a[i]);
}
}
а тут же вещественный а я int написал
буду очень благодарен
Решение задачи: «Вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
unsigned size;
printf("array size: ");
scanf("%u", &size);
float array[size];
int i;
int first = -1, last = -1;
for (i = 0; i < size; ++i)
{
array[i] = (rand() % 1000 - 500) * 0.01;
printf("%.2f ", array[i]);
if (array[i] < 0)
{
if (first == -1)
{
first = i;
}
last = i;
}
}
puts("");
float sum = 0.0;
for (i = first + 1; i < last; ++i)
{
sum += array[i];
}
printf("sum = %.2f\n", sum);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами, стандартными функциями и генерацией случайных чисел.
- Инициализация генератора случайных чисел с помощью функции srand(time(NULL)).
- Запрос у пользователя размера массива с помощью функции scanf().
- Создание массива переменной длины с помощью оператора new[] или выделение памяти под массив с помощью функции malloc().
- Инициализация переменных first и last, которые будут использоваться для определения диапазона элементов массива, участвующих в вычислении суммы.
- Итерация по всем элементам массива с помощью цикла for и заполнение их значениями, сгенерированными функцией rand().
- Поиск первого и последнего отрицательного элемента массива с помощью условного оператора if.
- Вывод значений элементов массива на экран с помощью функции printf().
- Инициализация переменной sum, которая будет использоваться для накопления суммы элементов массива.
- Вычисление суммы элементов массива, расположенных между первым и последним отрицательными элементами, с помощью цикла for.
- Вывод значения суммы на экран с помощью функции printf().
- Ожидание нажатия клавиши пользователем с помощью функции system().
- Возврат значения 0, что означает успешный конец работы программы.