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

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

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

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

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

Дан массив A[1..50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все отрицательные, причем порядок следования как положительных, так и отрицательных элементов должен сохраниться (при решении задачи новый массив не заводить!).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 17:34     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о
Посмотрите здесь:
В массив X записать сначала все положительные элементы M1 а затем все отрицательные элементы M2 C++
Расположить сначала все отрицательные элементы, затем положительные и нули, сохраняя первоначальный порядок их C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные C++
Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом – все отрицательные C++
C++ Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:00     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #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;
}
}
}
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:03     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #3
Angeline, а вы уверены что правильно сработает?
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
13.11.2013, 19:08     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #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
Миниатюры
Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о  
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:16     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #5
Folko, ну вроде должно подставить все положительные элементы вперед, соответственно отрицательные сзади окажутся. Там правда даны элементы 1-50, а не 0-49, но я малость не в курсе, как в си менять нумерацию. Хотя в любом случае этот код работать не будет, потому что это не вся программа.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:23     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #6
Angeline, нет, я говорю о том, что по условию перемещаемые элементы должны быть в том же порядке, что и раньше. А у вас (я попробовал запустить) порядок чисел перемешался
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:36     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #7
Folko, рассеянность, изыди
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 19:37     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о
Еще ссылки по теме:
C++ Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
C++ Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
C++ Расположить элементы массива так, чтобы сначала были отрицательные и нули, а потом положительные
C++ Преобразовать массив так, чтобы отрицательные элементы шли первыми, все остальные за ними

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

Или воспользуйтесь поиском по форуму:
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:37     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о #8
Angeline,

Не по теме:

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

Yandex
Объявления
13.11.2013, 19:37     Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о
Ответ Создать тему
Опции темы

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