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

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

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

Функция должна удалить из массива все отрицательные числ - C++

25.02.2014, 17:43. Просмотров 1638. Ответов 3
Метки нет (Все метки)

1. Написать функцию, которая получает указатель на динамический массив и его размер. Функция должна удалить из массива все отрицательные числа и вернуть указатель на новый динамический массив.
 Комментарий администратора 
одна тема - одна задача
читайте правила форума
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 17:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция должна удалить из массива все отрицательные числ (C++):

если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном случае-удалить отрицательные элементы.после удален - C++
задан массив Х целых чисел. если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном...

Удалить все отрицательные элементы массива - C++
У меня есть динамический масив... Как удалить все отрицательние елементи? if(mass<0) а дальше?

Удалить из массива все отрицательные элементы - C++
Создать динамический массыв. Розмерность массыва ввести из клавиатуры. Задание: Удалить из массыва все отрицательные елементы.

Удалить из массива все отрицательные элементы - C++
удалить из массива все отрицательные элементы . под удалением элемента следует понимать : исключение этого элемента из массива путем...

Удалить из массива все отрицательные элементы; - C++
Удалить из массива все отрицательные элементы;

Массив: Удалить из массива все отрицательные элементы. - C++
Задан массив размера N. Удалить из массива все отрицательные элементы.

3
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
27.02.2014, 17:58  [ТС] #2
все еще жду..
0
Catstail
Модератор
22920 / 11286 / 1834
Регистрация: 12.02.2012
Сообщений: 18,500
27.02.2014, 18:11 #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
36
37
38
39
40
#include <iostream.h>
 
int * DelNeg(int *Arr, int n, int &k)
{
    int i,j,*r;
    k=0;
    for (i=0; i<n; i++) if (Arr[i] >= 0) k++;
    r=new int [k];
    j=0;
    for (i=0; i<n; i++) if (Arr[i] >= 0) r[j++]=Arr[i];
    delete [] Arr;
    return r;
}
 
int main(int argc, char* argv[])
{
    int *A=new int[10];
    int i,n,*r;
 
    A[0]=1;
    A[1]=-1;
    A[2]=16;
    A[3]=-81;
    A[4]=0;
    A[5]=0;
    A[6]=12;
    A[7]=121;
    A[8]=-11;
    A[9]=11;
 
    r=DelNeg(A,10,n);
 
    for (i=0; i<n; i++) cout << r[i] << " " ;
 
    cout << endl;
 
    delete [] r;
 
    return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
27.02.2014, 18:41 #4
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
все еще жду..
Вы уж простите нас нерасторопных!
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>
#include <algorithm>
#include <functional>
#include <iterator>
 
int * remove_negatives(const int * array, size_t & count) {
    size_t pos_count = std::count_if(array, array + count, std::bind2nd(std::greater<int>(), -1));
    if ( ! pos_count ) {
        return NULL;
    }
    else {
        int * tmp = new int [ pos_count ];
        std::remove_copy_if(array, array + count, tmp, std::bind2nd(std::less<int>(), 0));
        count = pos_count;
        return tmp;
    }
}
 
int main() {
    int array[] = { 1, -2, -3, 4, 5, -6 };
    size_t count = sizeof(array) / sizeof(*array);
    int * no_negative = remove_negatives(array, count);
    
    if ( ! no_negative )
        std::cout << "Only negative values, nothing to return!";
    else
        std::copy(no_negative, no_negative + count, std::ostream_iterator<int>(std::cout, " "));
    
    delete [] no_negative;
    std::cout << std::endl;
    
    return 0;
}
1
27.02.2014, 18:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 18:41
Привет! Вот еще темы с ответами:

Функция меняет все отрицательные элементы массива на максимальный - C++
Написать функцию, которая принимает одномерный массив и его размерностью. Функция меняет в массиве все элементы меньше ноля, на...

1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э - C++
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

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

Из массива вещественных чисел удалить все отрицательные элементы - C++
Помогите пожалуйста с кодом для этой программы.(Только чтобы он был максимально простым и понятным для меня,и при использовании простых...


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

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

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