Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
alyan
0 / 0 / 2
Регистрация: 12.11.2013
Сообщений: 29
1

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

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

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

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

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

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

Массив: переставить элементы таким образом, чтобы сначала были записаны все положительные, затем все отрицательные, а потом все нули.
Здравствуйте! помогите пожалуйста с задачей по информатике. Буду очень благодарна) В массиве из...

Переформировать массив так, чтобы сначала были все отрицательные элементы, а затем все положительные
Дан массив 100. Переформировать этот массив таким образом, чтобы сначала были все отрицательные...

7
Angeline
37 / 31 / 4
Регистрация: 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;
}
}
}
1
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:03 3
Angeline, а вы уверены что правильно сработает?
0
zitxbit
91 / 743 / 279
Регистрация: 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
1
Миниатюры
Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о  
13.11.2013, 19:08
Angeline
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:16 5
Folko, ну вроде должно подставить все положительные элементы вперед, соответственно отрицательные сзади окажутся. Там правда даны элементы 1-50, а не 0-49, но я малость не в курсе, как в си менять нумерацию. Хотя в любом случае этот код работать не будет, потому что это не вся программа.
0
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:23 6
Angeline, нет, я говорю о том, что по условию перемещаемые элементы должны быть в том же порядке, что и раньше. А у вас (я попробовал запустить) порядок чисел перемешался
0
Angeline
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
13.11.2013, 19:36 7
Folko, рассеянность, изыди
0
Folko
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
13.11.2013, 19:37 8
Angeline,

Не по теме:

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

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

Массив: переставить элементы таким образом, чтобы сначала были записаны все положительные, затем все отрицател
Переставить члены последовательности так, чтобы сначала расположились все ее неотрицательные члены,...

Дан массив Х(16). Умножить все элементы данного массива на максимальный и вывести результаты в таком порядке, в каком были даны исходные данные.
Дан массив Х(16).умножить все элементы данного массива на максимальный ,и вывести результаты в...

Расположить элементы массива так, чтобы в начале располагались все отрицательные элементы, а затем положительные.
Расположить элементы массива так, чтобы в начале располагались все отрицательные элементы, а затем...


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

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

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