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

Все отрицательные цифры поместить в начало массива, а положительные в конец - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
bvladsity
3 / 1 / 1
Регистрация: 24.05.2012
Сообщений: 39
28.06.2012, 14:41     Все отрицательные цифры поместить в начало массива, а положительные в конец #1
4. Дан массив положительных и отрицательных чисел. Переписать массив так, чтобы все отрицательные цифры были в начале массива, а положительные в конце. Сохранить относительный порядок цифр (Можно воспользоваться вспомогательным массивом).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2012, 14:41     Все отрицательные цифры поместить в начало массива, а положительные в конец
Посмотрите здесь:

Все отрицательные элементы массива перенести в начало, а все остальные - в конец C++
C++ Отсортировать элементы массива: отрицательные – в начало массива, положительные – в конец
Все положительные элементы массива поставить в начало, а отрицательные - в конец C++
C++ Необходимо, пройдя по массиву один раз, все его положительные элементы поставить в начало а отрицательные в конец
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
C++ Перестановить положительные элементы в начало массива, отрицательные — в конец
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
28.06.2012, 14:48     Все отрицательные цифры поместить в начало массива, а положительные в конец #2
Как то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio.h>
#include <math.h> 
using namespace std; 
int main()
{
    int mass[]={3,5,-6,2,-4,6,4,-12};
    int mass1[8]={0};
    int j=0;
    for(int i=0;i<=7;i++)
     if (mass[i]<0) mass1[j++]=mass[i];
    for(int i=0;i<=7;i++)
     if (mass[i]>0) mass1[j++]=mass[i]; 
    for(int i=0;i<=7;i++) cout<<mass1[i]<<" ";
    getch();
    return 0;
}
bvladsity
3 / 1 / 1
Регистрация: 24.05.2012
Сообщений: 39
28.06.2012, 15:47  [ТС]     Все отрицательные цифры поместить в начало массива, а положительные в конец #3
спасибо большое скажи а можно это сделать так чтоб пользователь с клавиатуры вводил эти числа
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
28.06.2012, 15:57     Все отрицательные цифры поместить в начало массива, а положительные в конец #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно, количество элементов в массиве меняется в 4 строке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <math.h> 
#define N 20
using namespace std; 
int main()
{
    int mass[N]={0};
    int mass1[N]={0};
    int j=0;
     for(int i=0;i<=N-1;i++){
     cout<<"mass["<<i<<"]=";
     cin>>mass[i];
     }
    for(int i=0;i<=N-1;i++)
     if (mass[i]<0) mass1[j++]=mass[i];
    for(int i=0;i<=N-1;i++)
     if (mass[i]>0) mass1[j++]=mass[i]; 
    for(int i=0;i<=N-1;i++) cout<<mass1[i]<<" ";
    getch();
    return 0;
}
ЛетающийЕнот
88 / 67 / 12
Регистрация: 28.06.2012
Сообщений: 161
28.06.2012, 15:59     Все отрицательные цифры поместить в начало массива, а положительные в конец #5
bvladsity, конечно, можно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include <math.h> 
using namespace std; 
int main()
{
    int size;
    cin >> size;
    int* mass=new int[size];
    for (int i=0; i<size; i++)
     cin>>mass[i];
    int* mass1=new int[size];
    int j=0;
    for(int i=0;i<size;i++)
     if (mass[i]<0) mass1[j++]=mass[i];
    for(int i=0;i<size;i++)
     if (mass[i]>0) mass1[j++]=mass[i]; 
    for(int i=0;i<size;i++) cout<<mass1[i]<<" ";
    getch();
    return 0;
}
Количество элементов вводится сначала, затем элементы массива. По-моему, так лучше.
Zuzik
 Аватар для Zuzik
222 / 207 / 34
Регистрация: 11.06.2012
Сообщений: 1,358
28.06.2012, 16:20     Все отрицательные цифры поместить в начало массива, а положительные в конец #6
я что то недогоняю но зачем тут
C++
1
#include <math.h>
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2012, 16:24     Все отрицательные цифры поместить в начало массива, а положительные в конец
Еще ссылки по теме:

Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес C++
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования C++
C++ Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец
2. В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохра C++
C++ Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n)

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

Или воспользуйтесь поиском по форуму:
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
28.06.2012, 16:24     Все отрицательные цифры поместить в начало массива, а положительные в конец #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Не за чем, просто шаблон такой
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
#include <math.h> 
 
using namespace std; 
int main()
{
    
    getch();
    return 0;
}
Yandex
Объявления
28.06.2012, 16:24     Все отрицательные цифры поместить в начало массива, а положительные в конец
Ответ Создать тему
Опции темы

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