1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 110
1

Сформировать новый массив из отрицательных элементов исходного

25.09.2014, 23:23. Показов 2753. Ответов 7
Метки нет (Все метки)

Если в данном массиве нет четных элементов, то сформировать новый массив из отрицательных элементов, в противном случае - из положительных.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2014, 23:23
Ответы с готовыми решениями:

Сформировать новый массив, состоящий из индексов отрицательных элементов исходного массива
Формировать массив B(n, m) случайных чисел отрезка (-10; 165). Сформировать массив А(k), состоящий...

Сформировать новый массив из отрицательных или из положительных чисел исходного массива
по указанию пользователя с элементов масива а(15) сформировать масив или из отрицательных или из...

Сформировать новый массив из чётных значений элементов исходного массива
Дан массивА(30). Сформировать новый массив из четных значений элементов массива A на языке С++

Сформировать новый массив состоящий их различных элементов исходного массива
Дан одномерный массив целых чисел.Сформировать новый массив состоящий их различных элементов...

7
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 4
26.09.2014, 09:31 2
Кидай код, посмотрим че не получается.
0
79 / 79 / 34
Регистрация: 26.10.2011
Сообщений: 220
26.09.2014, 12:53 3
Как-то так:

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 <algorithm> 
#include <vector> 
#include <iterator>
#include <conio.h>
 
bool is_even(int number){ return !(number%2); }
bool is_negative(int number){ return (number<0); }
bool is_positive(int number){ return (number>=0); }
 
using namespace std;
 
int main()
{
  int tmp[] = {13,3,-1,5};
  vector<int> input( tmp, tmp + sizeof(tmp)/sizeof(int) );
  vector<int> result( input.size() );
  vector<int>::iterator it;
 
  copy(input.begin(), input.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
 
  if( any_of(input.begin(),input.end(),is_even) == true ) 
    it = copy_if(input.begin(),input.end(),result.begin(),is_positive);
  else
    it = copy_if(input.begin(),input.end(),result.begin(),is_negative);
 
  result.resize(distance(result.begin(),it));
 
  copy(result.begin(), result.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
 
  getch();
  return 0;
}
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
26.09.2014, 13:05 4
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>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    std::cout << "Введите кол-во элементов: ";
    int n;
    std::cin >> n;
    bool fl = false;
    int* mas = new int[n];
    int *pos = new int[n];
    int *neg = new int[n];
    int n_count = 0;
    int p_count = 0;
    for (int i = 0; i < n; ++i)
    {
        std::cout << "Введите " << i << "элемент: ";
        std::cin >> mas[i];
        if (mas[i] % 2 == 0) fl = true;
        if (mas[i] < 0) { neg[n_count] = mas[i]; ++n_count;} 
        if (mas[i] > 0) { pos[p_count] = mas[i]; ++p_count;} 
    }
    std::cout << std::endl;
    if (fl)
        for (int i = 0; i < p_count; ++i)
            std::cout << pos[i] << " ";
    else
        for (int i = 0; i < n_count; ++i)
            std::cout << neg[i] << " ";
    delete []mas;
    delete []pos;
    delete []neg;
    system("pause>>null");
 
}
0
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 110
06.10.2014, 15:58  [ТС] 5
Цитата Сообщение от Тамика Посмотреть сообщение
Код C++
можно поинтересоваться в какой среде писалась программа?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2014, 16:36 6
glykoman, да в любой.. Разве что, под виндой (глядя на system pause..). А что, ошибки выскакивают?
0
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 110
06.10.2014, 18:21  [ТС] 7
Цитата Сообщение от KOPOJI Посмотреть сообщение
А что, ошибки выскакивают?
C++
1
setlocale(LC_ALL, "Russian");
на это ругается. просто мне кодеблок советовали.
0
Форумчанин
Эксперт CЭксперт С++
8194 / 5044 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
06.10.2014, 18:32 8
C++
1
2
3
4
#include <clocale>
#include <cstdlib>
 
setlocale(LC_ALL, "");
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2014, 18:32
Помогаю со студенческими работами здесь

Написать функцию, создающую новый массив из отрицательных элементов исходного массива
Помогите пожалуйста написать следующую программу. С помощью функции создать динамический массив на...

Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива
У меня есть задание: написать функцию (процедуру) с параметрами для обработки одномерного массива...

Сформировать новый массив из элементов исходного, встречающихся в нем только один раз
Большая просьба помочь мне в решении двух задач! Буду Вам очень признателен, товарищи! задачи...

Из простых элементов исходного неупорядоченного массива, состоящего из натуральных чисел, сформировать новый упорядоченный массив.
Ребята нужна помощь!!! Задача такая, нужно разработать программу в процедурном, классовом или...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru