Страница 1 из 1

Замена первого отрицательного элемента в массиве по условию

Добавлено: 28 дек 2014, 11:29
Quadrad
дан массив d{12} найти произведение всех элементов меньше 5 и если это произведение будет меньше нуля то заменить первый по счету отрицательный элемент на 0 иначе на 12 вывести результат.

Код: Выделить всё

#include <iosream>
using namespace std;
int main()
{int d[12],i,p=1;
for(i=0;i<12;i++)
cin>>d[i];
for(i=0;i<12;i++)
if(d[i]<5)
{p=p*d[i];}
if(p<0)
for(i=0;i<12;i++)
if(d[i]<0)
{d[i]=0; break;}
else
{d[i]=12; break;}
cout<<"p="<<p<<"d[i]="<<d[i]<<endl;
system("pause");}
вот мой вариант

Re: Помогите с заданием

Добавлено: 28 дек 2014, 22:36
Romeo
Должно быть так:
Quadrad писал(а): если это произведение будет меньше нуля то заменить первый по счету отрицательный элемент на 0 иначе на 12 вывести результат.
А у тебя получается
если первый элемент меньше нуля, то заменить его на ноль, иначе заменить на 12"
А вычисленное ранее произведение, вообще никак не используется.

Проанализируй условия внутри второго цикла. Условие должно быть сложным. Если элемент меньше нуля, тогда... и внутри ещё одно условие: если произведение меньше нуля...