Вывод измененного массива на С
Есть условие: Определить среднее арифметическое элементов массива и значения и позиции первого и последнего положительных элементов массива. Если среднее арифметическое положительное число, то изменить знаки первого и последнего ( если таковой имеется ) положительных элементов, а затем определить новое значение среднего арифметического элементов массива. Застрял на том, что после изменение знаков двух элементов, не могу вывести измененный массив и найти новое среднее арифметическое. Код: 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);
}