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

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

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

Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о - C++

13.11.2013, 17:34. Просмотров 460. Ответов 7
Метки нет (Все метки)

Дан массив A[1..50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все отрицательные, причем порядок следования как положительных, так и отрицательных элементов должен сохраниться (при решении задачи новый массив не заводить!).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 17:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о (C++):

В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2 - C++
Из двух массивов M1(10) и M2(10) получить третийX( ) в массиве X записать вначале все положительные элементы массива M1 а затем все...

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

Упорядочить заданный массив, расположив в его начале все положительные элементы, затем все отрицательные - C++
22. В одномерном массиве А(10) выполнить преобразования таким образом, чтобы в начале располагались все положительные элементы, затем все...

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

Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные - C++
Здравствуйте, мне срочно нужна помощь:В одномерном массиве, состоящем из n целых элементов, вычислить: 1) произведение элементов массива...

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

7
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:00 #2
Ввод и вывод, я надеюсь, сами сделаете.
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int k=0; k<50; k++)
{
for (int i=k+1; i<50; i++)
{
if (a[i]>0) 
{
type servep=a[i];//type заменить типом массива
a[i]=a[k];
a[k]=servep;
}
}
}
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:03 #3
Angeline, а вы уверены что правильно сработает?
0
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
13.11.2013, 19:08 #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
36
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 50
 
void swap(int& n1, int& n2);
 
int main(int argc, char* argv[])
{
    int A[N] = { 0 };
    for (int t = 0; t < N; t++)
    {
        A[t] = rand() % 40 - 20;
        if (A[t] == 0) A[t]++;
        printf("%d ",A[t]);
    }
 
    printf("\n");
 
    for (int i = 0; i < N; i++)
        for (int r = i+1; r < N && A[i] < 0; r++)
            if (A[r] > 0) swap(A[i],A[r]);
 
    for (int z = 0; z < N; z++)
        printf("%d ",A[z]);
 
    printf("\n");
 
    _getch();
 
    return 0;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
http://codepad.org/TDvuEcAD
0
Миниатюры
Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о  
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:16 #5
Folko, ну вроде должно подставить все положительные элементы вперед, соответственно отрицательные сзади окажутся. Там правда даны элементы 1-50, а не 0-49, но я малость не в курсе, как в си менять нумерацию. Хотя в любом случае этот код работать не будет, потому что это не вся программа.
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:23 #6
Angeline, нет, я говорю о том, что по условию перемещаемые элементы должны быть в том же порядке, что и раньше. А у вас (я попробовал запустить) порядок чисел перемешался
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:36 #7
Folko, рассеянность, изыди
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:37 #8
Angeline,

Не по теме:

со всеми бывает)

0
13.11.2013, 19:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 19:37
Привет! Вот еще темы с ответами:

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

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

Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом все отрицательные - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.Произведение элементов массива с четными номерами; 2.Сумму...

Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные - C++
Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные (элементы, равные 0,...


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

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

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