11.01.2013, 21:48. Просмотров 3950. Ответов 2
Задание: Нужно найти сумму элементов массива, расположенных между первым
и последним отрицательными элементами.
вот сама программа, только она не считает между отрицательными элементам, она считаем весь массив!!!
Помогите исправить ошибку
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| //---------------------------------------------------------------------------
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include <math.h>
int main(){
SetConsoleOutputCP(1251);
int N;
cout<<"Введите количество элементов массива (не более 10) ";
cin>>N;
if (N<0 || N>=10) cout<<"Ошибка во вхоных данных "<<endl;
else
{
cout<<"Введите элемент массива "<<endl;
int A[10]; //вводим массив
int nno=N+1,npo;
for(int i=0;i<N;i++) {
cout<<"A["<<i<<"]=";
cin>>A[i];
if (A[i]<0 && nno>N) nno=i; // проверка отрицательных элементов
if (A[i]<0) npo=i;
}
int Sum=0; //считаем сумму
for (int i=nno; i<=npo; i++)
Sum=Sum+A[i];
if (nno==N+1) cout<<"Нет отрицательных элементов "<<endl;
else if (nno==npo) cout<<"Один отрицательный элемент "<<endl;
else if (nno+1==npo) cout<<"Отрицательные числа стоят рядом "<<endl;
else cout<<"Сумму элементов массива, расположенных между первым и последним отрицательными элементами = "<<Sum<<endl;
}
system ("pause");
return 0;
} |
|