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

Переписать все элементы положительные во второй массив, а остальные в третий - C++

Восстановить пароль Регистрация
 
PFC_CSKA
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 16
12.12.2012, 18:18     Переписать все элементы положительные во второй массив, а остальные в третий #1
Добрый вечер, эксперты С++, очень нуждаюсь в вашей помощи, мне была задана программа с тремя массивами, где каждый массив выписывает свои элементы в случайном порядке, или наоборот, чтобы было понятней, вот полное задание:
"Дан массив целых чисел. Переписать все элементы положительные во второй массив, а остальные в третий. Во втором массиве элементы должны стоять на тех же местах, что и в первом, а в третьем-идти подряд."

P.s. Элементов может быть сколько угодно, примерно от 5 до 10, на ваше усмотрение, буду признателен за помощь. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 18:18     Переписать все элементы положительные во второй массив, а остальные в третий
Посмотрите здесь:

В первый массив перенести все цифры из исходного массива, во второй - все остальные символы. C++
Переписать положительные элементы массива во второй, а остальные - в третий массив C++
Все положительные элементы двумерного массива записать в один одномерный массив, а остальные в другой C++
C++ Из массива положительные элементы перетащить в первый массив, а все отрицательные во второй.
C++ Переписать в массив Y положительные элементы а в массив Z отрицательные элементы массива Х N<=40
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
12.12.2012, 18:25     Переписать все элементы положительные во второй массив, а остальные в третий #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от PFC_CSKA Посмотреть сообщение
Во втором массиве элементы должны стоять на тех же местах, что и в первом,
А чем, должны быть заполнены, остальные элементы.

Добавлено через 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
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int A[size] = { 12, 45, 0, -6, -7, 12, 56, -4, -6, 12 };  
    int B[size], C[size];
    int i, count1 = 0, count2 = 0; 
 
    for ( i = 0; i < size; ++i) 
        if(A[i] > 0) 
            B[count1++] = A[i]; 
        else 
            C[count2++] = A[i]; 
 
    for ( i = 0; i < count1; ++i) 
        std::cout << B[i] << " "; 
    std::cout << std::endl; 
    
    for ( i = 0; i < count2; ++i) 
        std::cout << C[i] << " "; 
    std::cout << std::endl;
}
PFC_CSKA
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 16
12.12.2012, 18:32  [ТС]     Переписать все элементы положительные во второй массив, а остальные в третий #3
Спасибо Вам большое! По Вашему примеру получилась отличная программа, как раз то что мне было нужно.
JOKFEN
 Аватар для JOKFEN
6 / 5 / 1
Регистрация: 11.12.2012
Сообщений: 39
12.12.2012, 18:36     Переписать все элементы положительные во второй массив, а остальные в третий #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно так, без инициализации count2...
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>
using namespace std;
 
int main() 
{ 
    const int size = 10; 
    int A[size] = { 12, 45, 0, -6, -7, 12, 56, -4, -6, 12 };  
    int B[size], C[size];
    int i, count1 = 0;
 
    for ( i = 0; i < size; ++i) 
        cout << A[i] << " "; 
    cout << endl; 
 
    for ( i = 0; i < size; ++i) 
        if(A[i] > 0)
            B[i] = A[i];
        else 
            C[count1++] = A[i];
 
    cout << endl<< endl; 
 
    for ( i = 0; i < size; ++i)
        if(B[i]>0)
            cout << B[i] << " index: ["<<i<<"] ";
 
    cout << endl<< endl; 
    
    for ( i = 0; i < count1; ++i) 
        cout << C[i] << " index: ["<<i<<"] ";
 
    cout << endl<< endl;
 
    system("pause");
}
Yandex
Объявления
12.12.2012, 18:36     Переписать все элементы положительные во второй массив, а остальные в третий
Ответ Создать тему
Опции темы

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