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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.93
Виталий_Сигов
5 / 5 / 0
Регистрация: 07.10.2009
Сообщений: 59
#1

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

16.10.2011, 22:53. Просмотров 4265. Ответов 6
Метки нет (Все метки)

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

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

Из одного массива сделать два массива, в один перенести четные элементы, в другой нечетные - C++
Здравствуйте , помогите пожалуйста с такой задачей из одного массива сделать два массива, в один перенести четные елементы, в другой...

Все отрицательные элементы массива перенести в начало, а все остальные - в конец - C++
помогите пожалуйста))) преобразовать массив по следующему правилу (воспользовавшись массивом у как вспомогательным):все отрицательные...

Перенести все отрицательные элементы массива в конец - C++
#include <iostream> #include <ctime> using namespace std; #define n 10 int main(){ srand(time(NULL)); int a, i, pos=0, q,...

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

Переписать из одного массива в другой все элементы, значения которых больше -1.8 и меньше 2.7 - C++
Сформировать вещественный массив A,элементами которого являются случайные числа из диапазона .Переслать из него в массив A2 все элементы ,...

6
jonson
234 / 207 / 61
Регистрация: 18.03.2010
Сообщений: 750
16.10.2011, 23:27 #2
Цитата Сообщение от Виталий_Сигов Посмотреть сообщение
Как из одномерного массива целых чисел все отрицательные элементы перенести в новый массив ?
Виталий_Сигов, ну и в чём ступор то? Цикл, условие, копирование. Больше ничего не надо.
0
svinopapa
10 / 10 / 3
Регистрация: 05.01.2011
Сообщений: 39
16.10.2011, 23:48 #3
Надеюсь, что всё правильно Моя первая нормальная программа на C после Паскаля
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
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    int n;
    printf("Enter array size:");
    scanf("%d",&n);
    int a[n],k=0;
    for (int i=0; i<n; i++) {
    printf("Enter element number %d:\n",i+1);
    scanf("%d",&a[i]);
    if (a[i]<0) k++;
    }
     int x[k],j=0;
     for (int i=0; i<n; i++)
    if (a[i]<0) {
           x[j]=a[i];
           if (k!=j) j++;
        } 
     printf("First array:\n");
     for (int i=0; i<n; i++) printf("%d ",a[i]);
     printf("\n");
     printf("Result array:\n");
     for (int i=0; i<j; i++) printf("%d ",x[i]);
     printf("\n");
    return 0;
}
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.10.2011, 23:50 #4
svinopapa,
Цитата Сообщение от svinopapa Посмотреть сообщение
int a[n]
такой код скомпилируетя только в gcc/mingw
0
svinopapa
10 / 10 / 3
Регистрация: 05.01.2011
Сообщений: 39
16.10.2011, 23:50 #5
Надо только английские надписи заменить тебе, а то у меня проблемы с кодировкой, поэтому я их использовал.
0
svinopapa
10 / 10 / 3
Регистрация: 05.01.2011
Сообщений: 39
17.10.2011, 00:41 #6
Я только начинаю учить) Пока так запомнил только - в Pelles работает...

Добавлено через 50 минут
А вот этот вариант работает для wxDev-C++...
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
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    int n;
    printf("Enter array size:");
    scanf("%d",&n);
    int a[n],k=0,i;
    for (i=0; i<n; i++) {
        printf("Enter element number %d:\n",i+1);
        scanf("%d",&a[i]);
        if (a[i]<0) k++;
        }
     int x[k],j=0;
     for (i=0; i<n; i++)
        if (a[i]<0) {
           x[j]=a[i];
           if (k!=j) j++;
        }
     printf("First array:\n");
     for (i=0; i<n; i++) printf("%d ",a[i]);
     printf("\n");
     printf("Result array:\n");
     for (i=0; i<j; i++) printf("%d ",x[i]);
     printf("\n");
    system("PAUSE");
    return 0;
}
Вообщем, надеюсь хоть какой-то подойдёт
1
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
17.10.2011, 15:35 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::vector< int > vec((std::istream_iterator< int >(std::cin)), std::istream_iterator< int >());
    std::vector< int > copy_vec;
 
    std::copy_if(vec.begin(), vec.end(), std::back_inserter(copy_vec), [](int elem) -> bool { return elem < 0; });
 
    std::copy(copy_vec.begin(), copy_vec.end(), std::ostream_iterator< int >(std::cout, "  "));
 
    std::cout << std::endl;
 
    return 0;
}
0
17.10.2011, 15:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2011, 15:35
Привет! Вот еще темы с ответами:

Из массива перенести четные элементы в другой массив.А нечетные перенести в другой массив - C++
#include &lt;iostream&gt; #include &lt;locale.h&gt; using nmespace std; main () { int x; int z; int mas; int mas1; int mas2; ...

Перенести отрицательные элементы в конец массива - C++
Всем доброго времени суток, помогите с заданием: В целочисленный массив размерности N ввести произвольные числа. Последовательно...

Перенести из одного файла все строки, содержащие конкретное слово в другой - C++
Суть в том,чтобы создать 2 файла &quot;file1&quot; и &quot;file2&quot;, в &quot;file1&quot; написан какой то текст,&quot;file2&quot; пустой, нужно из первого файла перенести все...

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


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

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

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