7 апреля 2015 г.

Дан массив из 50-ти элементов. Необходимо посчитать сумму элементов между первым и последним отрицательными значениями массива

const int size=50;
int A[size];
srand(time(NULL));
for(int i=0;i<size;i++)
{
A[i]=rand()%100-50;
}
for(int i=0;i<size;i++)
{
cout<<i<<" - "<<A[i]<<"\n";
}
int first;//первое отрицательное число
int last;//последнее отрицательное число
int mfirst;//маркер первого отрицательного числа
int mlast;//маркер последнего отрицательного числа
for(int i=0;i<size;i++)
{
if(A[i]<0)
{
first=A[i];
mfirst=i;
break;
}
}
for(int i=size-1;i>0;i--)
{
if(A[i]<0)
{
last=A[i];
mlast=i;
break;
}
}
cout<<"\nпервое отрицательное число: "<<first
<<"\nПоследнее отрицательное число: "<<last
<<"\nМаркер первого отрицательного числа: "<<mfirst
<<"\nМаркер последнего отрицательного числа: "<<mlast
<<"\n\n";
int summ=0;//сумма элементов между первым и последним отрицательным значением
for(int i=mfirst;i<=mlast;i++)
{
cout<<i<<" - "<<A[i]<<"\n";
summ+=A[i];
}
cout<<"Сумма равна "<<summ<<"\n";

Комментариев нет:

Отправить комментарий