Форум программистов, компьютерный форум CyberForum.ru

Изменить порядок следования элементов в массиве на обратный - C++

Восстановить пароль Регистрация
 
zer077
0 / 0 / 0
Регистрация: 23.04.2016
Сообщений: 11
21.11.2016, 21:22     Изменить порядок следования элементов в массиве на обратный #1
Есть задачка:
В одномерном массиве, состоящем из n вещественных элементов,
вычислить:
1) произведение отрицательных элементов массива;
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
#include <iostream> 
using namespace std;
int main()
{
setlocale (LC_CTYPE, "rus");
int n,i,k=0;
double a[100],max=a[0],p=1,s=0;
cout<<"Введите количество элементов массива: ";
cin>>n;
cout<<"Вводите элементы массива:"<<endl;
for (i=0;i<n;i++) 
{
    cin>>a[i];
    if (a[i]>max) {max=a[i]; k=i;} 
    if (a[i]<0) {p=p*a[i];} 
}
for (i=0;i<k;i++) 
{
    if (a[i]>0) {s=s+a[i];}
}
cout<<"Максимальный элемент массива: a["<<k<<"]="<<max<<endl;
cout<<"Сумма положительных элементов массива, расположенных до максимального элемента="<<s<<endl;
cout<<"Произведение отрицательных элементов массива="<<p<<endl;
return 0;
}
Добавлено через 59 минут
Разобрался сам. Может кому пригодится:
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
#include <iostream> 
using namespace std;
int main()
{
setlocale (LC_CTYPE, "rus");
int n,i,k=0;
double a[100],max=a[0],p=1,s=0,x=0;
cout<<"Введите количество элементов массива: ";
cin>>n;
cout<<"\nВводите элементы массива:"<<endl;
for (i=0;i<n;i++) 
{
    cin>>a[i];
    if (a[i]>max) {max=a[i]; k=i;} 
    if (a[i]<0) {p=p*a[i];} 
}
for (i=0;i<k;i++) 
{
    if (a[i]>0) {s=s+a[i];}
}
cout<<"\nМаксимальный элемент массива: a["<<k<<"]="<<max<<endl;
cout<<"Сумма положительных элементов массива, расположенных до максимального элемента="<<s<<endl;
cout<<"Произведение отрицательных элементов массива="<<p<<endl;
cout<<"\nМассив с измененным порядком элементов на обратный:"<<endl;
 
for (i = 0; i < n/2; i++)     
  {x = a[i]; a[i] = a[n-1-i]; a[n-1-i] = x;}                         
 
for (i = 0; i < n; i++) 
  {cout<<"a["<<i<<"]="<<a[i]<<endl;}
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2016, 21:22     Изменить порядок следования элементов в массиве на обратный
Посмотрите здесь:

Составить программу, которая меняет порядок следования элементов в массиве на обратный для линейных таблиц Х[12] и Y[10] C++
C++ Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный
Изменить порядок следования слов в строке на обратный C++
Изменить порядок следования элементов в массиве C++
Изменить порядок следования элементов в массиве на обратный, используя массив указателей C++
Изменить порядок следования цифр на обратный между 1-й и последней цифрой C++
C++ Задана строка. Изменить порядок следования символов в 1 и 2 половине строки на обратный
Изменить порядок следования элементов в массиве на обратный C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru