#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <time.h>
#define N 100
long summ_func(int array[], int negative_numbers[]);
void from_keyboard(int n,int array[], int negative_numbers[]);
void by_random(int n,int array[], int negative_numbers[]);
int main() {
setlocale(LC_ALL, "Ukr");
int negative_numbers[2];
int n, input, array[100];
printf("Розмір масива може бути від 2 до 100 елементів\n");
printf("Введiть розмiрність масиву: ");
scanf_s("%d", &n);
//перевірка на коректність введення
if (n > N || n < 2) {
printf("Некоректне введення");
return 0;
}
printf("Виберiть як заповнити масив: \n1 - з клавiатури \n2 - випадковими числами\n");
scanf_s("%d", &input);
//розгалудження на варіанти введення
switch (input) {
case 1: from_keyboard(n,array,negative_numbers); break;
case 2: by_random(n,array,negative_numbers); break;
default: printf("Некоректне введення"); return 0;
}
//виведення масиву
printf("\nВаш масив:\n");
for (int i = 0; i < n; i++) {
printf(" %d\t", array[i]);
if ((i + 1) % 10 == 0)
printf("\n");
}
printf("\nСума елементiв: %ld", summ_func(array,negative_numbers));
}
//функція введення з клавіатури
void from_keyboard(int n,int array[],int negative_numbers[]) {
int temp = 0;
for (int i = 0; i < n; i++) {
printf("Введiть %d число: ", i + 1);
scanf_s("%d", &array[i]);
if (temp!=2) {
if (array[i] < 0) {
negative_numbers[temp] = i;
temp++;
}
}
}
}
//функція введення за допомогою rand()
void by_random(int n,int array[], int negative_numbers[]) {
srand(time(0));
int temp = 0;
for (int i = 0; i < n; i++) {
array[i] = ((rand() % 200)-100);
if (temp != 2) {
if (array[i] < 0) {
negative_numbers[temp] = i;
temp++;
}
}
}
}
//Функція підрахунку суми між першим та другим негативними елементами
long summ_func(int array[], int negative_numbers[]) {
long summ = 0;
for (int i = negative_numbers[0]+1; i < negative_numbers[1]; i++) {
if(array[i]%2==0)
summ += array[i];
}
return summ;
}