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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Текстовые файлы http://www.cyberforum.ru/cpp-beginners/thread1856584.html
Для некоторой предметной области создать текстовый файл средствами редактора. Составить программу для вывода содержимого файла на экран и поиска данных в файле по некоторому критерию. Сюжет для наполнения файла и критерии поиска придумать самостоятельно. В программе задайте режим, благодаря которому прилагалась бы информация в существующий файл.
C++ Указатель - элемент класса на функцию-метод класса Добрый вечер. Сразу высказываю некоторое смущение за столь простой вопрос, но все же... При работе с указателем на функцию -метод класса вопросов не возникает class Test { public: void f1() { http://www.cyberforum.ru/cpp-beginners/thread1856583.html
C++ Использование файла
Cоздать файл, элементом которого является структура. Вывести содержимое файла на экран для контроля. Самостоятельно придумать критерий поиска некоторых данных и осуществить поиск данных в этом файле. Искомые данные вывести на экран. (Поиск данных можно оформить отдельной программе).
С++ C++
Придумать и описать создание списка или стека или очереди. И работу с ними.
C++ Массив структур http://www.cyberforum.ru/cpp-beginners/thread1856573.html
Помогите пожалуйста сделать Придумать и описать структуру некоторого сюжета (не менее пяти полей) и составить программу для создания массива из пяти - семи элементов типа структура и обработки соответствующих данных согласно некоторым сюжетом. В сюжете задать и описать критерий поиска некоторой информации. Результаты работы программы (все введенные а затем найдены в результате поиска данные)...
C++ русский вывожу текст через командную, но setlocale(LC_ALL, "Russian") не помогает, хоть и на русском, но не то, что надо(а на консоли все ок) шрифт меняла подробнее

Показать сообщение отдельно
zer077
0 / 0 / 0
Регистрация: 23.04.2016
Сообщений: 11
21.11.2016, 21:22     Изменить порядок следования элементов в массиве на обратный
Есть задачка:
В одномерном массиве, состоящем из 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru