Вывод измененного массива на С

Есть условие: Определить среднее арифметическое элементов массива и значения и позиции первого и последнего положительных элементов массива. Если среднее арифметическое положительное число, то изменить знаки первого и последнего ( если таковой имеется ) положительных элементов, а затем определить новое значение среднего арифметического элементов массива. Застрял на том, что после изменение знаков двух элементов, не могу вывести измененный массив и найти новое среднее арифметическое. Код: int main() { SetConsoleOutputCP(1251); //Подключение кириллицы SetConsoleCP(1251); int i, n, s, ifirst, ilast, lminus, fminus,firstelem,secondelem; printf("\t Введите размер массива \n"); scanf("%d", &n); int mas[d];

printf("Введите элементы массива:\n");
for (i = 0; i < n; i++)
{
    printf("Массив[%d] = ", i);
    scanf("%d", &mas[i]);
}

s = 0;
for (i = 0; i < n; i++)
    s += mas[i];
s /= n;

printf("\nСреднее арифметическое = %d\n", s);
ifirst = -1; //Это признак того, что первый отрицательный элемент пока не найден.
//Индексы элементов массива 0,1,2,...,19
ilast = -1; //Это признак того, что последний отрицательный элемент пока не найден.
for (i = 0; i < n && mas[i] >= 0; i++);
if (i < n)
{
    ifirst = i; fminus = mas[i];
    for (i = n - 1; i > ifirst && mas[i] >= 0; i--);
    if (i > ifirst)
    {
        ilast = i; lminus = mas[i];
    }

}
//Проверка: сколько найдено отрицательных элементов
if (ifirst == -1)
    printf("\n Отрицательных элементов нет\n");
else
    if (ilast == -1)
        printf("\n Один отрицательный элемент = %d, его позиция = %d\n", mas[ifirst], ifirst);
    else
    {
        printf("\n Первый отрицательный элемент = %d, его позиция = %d\n", mas[ifirst], ifirst);
        printf("\n Последний отрицательный элемент = %d, его позиция = %d\n", mas[ilast], ilast);
    }
///////
int isecond, issecond, lssecond, lsecond;
isecond = -1; //Это признак того, что первый отрицательный элемент пока не найден.
//Индексы элементов массива 0,1,2,...,19
issecond = 1;
//Это признак того, что последний отрицательный элемент пока не найден.
for (i = 0; i < n && mas[i] <= 0; i++);
if (i < n)
{
    isecond = i; lsecond = mas[i];
    for (i = n - 1; i < issecond && mas[i] < 0; i++);
    if (i < n)
    {
        issecond = i; lssecond = mas[i];
    }

}
//Проверка: сколько найдено отрицательных элементов
if (isecond == -1)
    printf("\n положительный элементов нет\n");
else
    if (issecond == -1)
        printf("\n Один положительный элемент = %d, его позиция = %d\n", mas[isecond], isecond);
    else
    {
        printf("\n Первый положительный элемент = %d, его позиция = %d\n", mas[isecond], isecond);
        printf("\n Последний положительный элемент = %d, его позиция = %d\n", mas[issecond], issecond);
    }

if(s > 0){
    firstelem = mas[isecond] - 2 * mas[isecond];
    secondelem = mas[issecond] - 2 * mas[issecond];
    printf("Первый элемент с изменненым знаком : %d\n", firstelem);
    printf("Последний элемент с изменненым знаком : %d\n", secondelem);

    
}

Ответы (0 шт):