Заменить первый отрицательный элемент массива на максимальный, в противном случае найти сумму элементов - C (СИ)
Формулировка задачи:
Добрый вечер. Пожалуйста, помогите решить задачу на языке С (не C++ !)
Дан одномерный массив из N элементов. Если первый элемент массива отрицательный, то заменить отрицательные элементы массива на максимальный элемент и вывести полученный массив на экран. В противном случае найти сумму элементов массива.
Решение задачи: «Заменить первый отрицательный элемент массива на максимальный, в противном случае найти сумму элементов»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
void main()
{int i, n, max, a[50];
printf("Vvedite kolichestvo massivov:\n");
scanf("%d", &n);
printf("Vvedite elementy massiva:\n");
for(i=0; i<n; i++)
{scanf("%d", &a[i]);
}
for(i=0; i<n; i++)
{if(a[i]<0)
max=a[i];
for(i=0; i<n; i++)
if(a[i]<0)
if(a[i]<max)
a[i]=0;
}
for (i=0; i<n; i++) printf ("%2d", a[i]);
getch();
}
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Пользователю предлагается ввести количество массивов.
- Пользователь вводит элементы массива.
- Программа ищет максимальный отрицательный элемент массива и заменяет его на максимальный положительный элемент.
- Если отрицательных элементов нет, то программа просто выводит сумму элементов массива.
- Затем программа выводит элементы массива.