С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Rawwwr
0 / 0 / 0
Регистрация: 25.04.2010
Сообщений: 12
#1

Размещение элементов в массиве - C++

25.04.2010, 22:15. Просмотров 630. Ответов 6
Метки нет (Все метки)

Задача: Разместить все элементы с нулевым значением в левой части массива, элементы с негативными значением за ними, а за ними - элементы с положительным значением

Дано: Розмерность массива 100

Диапазон значений -100 -100
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2010, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Размещение элементов в массиве (C++):

В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива - C++
В одномерном массиве, состоящем из 10 вещественных элементов вычислить: 1. Номер минимального элемента в массиве 2. Сумму...

Размещение элементов в памяти - C++
Добрый день! Подскажите. может ли контейнер STL vector хранить значения типа char (wchar_t)? Если нет, то подскажите, как создать некую...

Размещение с повторением элементов - C++
Добрый вечер. Пытаюсь сделать проект, в котором ко всему прочему нужно инициализировать множество. Даны 3 элемента - A, B, C. ...

Размещение элементов массива по спирали - C++
Как разместить элементы массива (nxn) по спирали (начиная с нижнего левого угла против часовой стрелки)? Помогите пожалуйста!!((

В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. - C++
1. В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Число N и...

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов...

6
delfamur
42 / 24 / 0
Регистрация: 16.03.2010
Сообщений: 199
25.04.2010, 22:42 #2
блин, ну тут же почти обычная сортировка.используй второй массив. создаешь цикл, ишешь нулевые элементы, забиваешь в новый массив, далее ищешь отрицательные, забиваешь дальше ну и положительные...
1
Rawwwr
0 / 0 / 0
Регистрация: 25.04.2010
Сообщений: 12
25.04.2010, 22:54  [ТС] #3
ну я не могу..
реши пожалуста..)
0
delfamur
42 / 24 / 0
Регистрация: 16.03.2010
Сообщений: 199
25.04.2010, 22:56 #4
прости, диплом у меня...
0
Rawwwr
0 / 0 / 0
Регистрация: 25.04.2010
Сообщений: 12
25.04.2010, 23:00  [ТС] #5
да ладно,спасибо всё равно)
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
25.04.2010, 23:34 #6
Цитата Сообщение от delfamur Посмотреть сообщение
блин, ну тут же почти обычная сортировка.используй второй массив. создаешь цикл, ишешь нулевые элементы, забиваешь в новый массив, далее ищешь отрицательные, забиваешь дальше ну и положительные...
Ага, разведем 20 массивов и будет счастье, да?
Задача решается за два прохода по массиву.
Вот решение с использованием STL:
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <ctime>
#include <cstdlib>
 
const int min_value = -100;
const int max_value = 101;
 
void InitializeRandom() {
  std::srand(std::time(NULL));
}
 
int Random() {
  return min_value + std::rand() % (max_value - min_value);
}
 
int main() {
  const int size      = 50;
        int arr[size];
 
  InitializeRandom();
  std::generate(arr, arr + size, Random);
 
  std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
 
  int* it = std::stable_partition(arr, arr + size, std::bind2nd(std::equal_to<int>(), 0));
       it = std::stable_partition(it , arr + size, std::bind2nd(std::less    <int>(), 0));
            std::stable_partition(it , arr + size, std::bind2nd(std::greater <int>(), 0));
 
  std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
}
1
Rawwwr
0 / 0 / 0
Регистрация: 25.04.2010
Сообщений: 12
25.04.2010, 23:37  [ТС] #7
Спасибо Большое))
выручил)))
0
25.04.2010, 23:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2010, 23:37
Привет! Вот еще темы с ответами:

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива....

Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;stdio.h&gt; #include...

В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. - C++
В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. Элементы...

В одномерном массиве состоящий из n элементов вычислить количество элементов массива, меньших C - C++
:::::::


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.