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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Aigerimka
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 7
#1

Преобразовать массив - C++

09.12.2009, 13:17. Просмотров 1442. Ответов 2
Метки нет (Все метки)

1)преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы,а потом - все положительные( элементы,равные 0,считать положительными)
2)в одномерном массиве, состоящем из n вещественных элеменов массива вычислить:
сумму элементов массива,расположенных между первым и последним положительными элементами.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2009, 13:17     Преобразовать массив
Посмотрите здесь:

C++ преобразовать массив
Преобразовать массив C++
C++ Преобразовать массив
Преобразовать массив C++
C++ преобразовать массив
Преобразовать массив X C++
C++ Преобразовать массив
Преобразовать массив C++
C++ функции в с++ (преобразовать массив)
Преобразовать массив C++
Преобразовать массив LPWSTR в массив BYTE C++
C++ Преобразовать массив по правилу

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
09.12.2009, 14:35     Преобразовать массив #2
C++
1
2
3
4
5
6
7
8
9
10
1)
int k=0;
for (int i=0;i<n;i++)
 if (a[i]<0)
{
   int temp=a[k];
   a[k]=a[i];
   a[i]=temp;
   k++;
}
Добавлено через 1 час 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2)
int ot=0;
int i=-1;
do{
 i++;
 if (a[i]>0) ot=i;
}while(a[i]<0);
 
int do=0;
int i=n;
do{
 i--;
 if (a[i]>0) do=i;
}while(a[i]<0);
sum=0;
for(int j=ot+1;j<do;j++)
sum+=a[j];
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
11.12.2009, 00:59     Преобразовать массив #3
Aigerimka,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <algorithm>
#include <functional>
 
int main()
{
    std::istream_iterator <double> start (std::cin);
    std::istream_iterator <double> end;
 
    std::vector <double> vec(start, end);
    std::vector <double> ::iterator iter = std::partition (vec.begin(), vec.end(), std::bind2nd (std::less <double> (), 0));
 
    std::copy (vec.begin(), iter, std::ostream_iterator <double> (std::cout," "));
    std::copy(iter, vec.end(), std::ostream_iterator <double> (std::cout," "));
 
    system("pause");
    return 0;
}
Добавлено через 15 минут
Aigerimka,
C++
1
std::accumulate(std::find_if(vec.begin(),vec.end(),std::bind2nd(std::greater<double>(),0))+1, std::find_if(vec.rbegin(),vec.rend(),std::bind2nd(std::greater<double>(),0)).base(),0);
что то в таком духе
это 2
Yandex
Объявления
11.12.2009, 00:59     Преобразовать массив
Ответ Создать тему
Опции темы

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