Не самый рациональный вариант, но все же
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
44
45
| #include <iostream>
#include <math.h>
using namespace std;
const int SIZE=80;
int main()
{
setlocale (LC_ALL, "Russian"); //чтобы на русском можно было писать...
int n, i, j=-1, k=0, z, d=0; //объявление переменных
double a[SIZE], sum=0, buf=0;
cout<<"Введите количество элементов: ";
cin>>n;
cout<<"Введите "<<n<<" элементов: ";
for (i=0; i<n; i++) //ввод элементов массива
cin>>a[i];
for (i=0; i<n; i++) //подсчет положительных
if (a[i]>=0)
k++;
cout<<"В массиве "<<k<<" положительных элементов.\n";
for(i = n - 1; i >= 0 && a[i] != 0; --i);
j = i;
if (j==-1)
cout<<"Отрицательных чисел нет. Сумма = 0.\n";
else
{
for (i=j+1; i<n; i++)//подсчет суммы после последнего 0
sum+=a[i];
cout<<"Сумма = "<<sum<<endl;
}
for (i=0; i<n; i++)
if (a[i]>-2&&a[i]<2)
{
buf=a[i];
for (j=i; j<n; j++)
a[j]=a[j+1];
for (j=n; j>d; j--)
a[j]=a[j-1];
a[d]=buf;
d++;
}
for (i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<endl<<endl;
return 0;
} |
|