Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
sham63
3 / 3 / 3
Регистрация: 23.06.2015
Сообщений: 38
#1

Сортировка массива: сначала расположить положительные, а потом - отрицательные элементы

29.07.2016, 17:50. Просмотров 542. Ответов 7
Метки нет (Все метки)

Проверьте пожайлуста мое решение . Эффективен ли вообще такой подход?

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

Мое решение:
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
#include <iostream>
 
using namespace std;
 
 
int main()
{
const int n =5;
int mas[n] = {2,4,-1,0,-5};
int mas_dubl[n];
int i_m = 0,i_p = 0;
//
for(int i=0;i<n;i++) {
    if(mas[i]<0) {
        mas_dubl[n-1-i_m] = mas[i];
        i_m++;
    }
    else {
        mas_dubl[i_p] = mas[i];
        i_p++;
    }
}
// Вывод массива
cout<<"#################################################################################"<<endl;
for(int i=0;i<n;i++) {
    cout<<"Mas element"<<mas_dubl[i]<<endl;
}
 
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2016, 17:50
Ответы с готовыми решениями:

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

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

Сортировка массива: сначала положительные элементы, потом - отрицательные
Сделать динамическаий массив ,указатели си++ Балансовый отчет содержит N...

В массиве сначала расположить все положительные элементы,а потом отрицательные
1.В одномерному массиве,что состоит из N целых элементов вычислить:...

Расположить в массиве сначала все отрицательные элементы и нули, потом - положительные (Pascal -> C++)
Помогите пожалуйста, нужно перевести программу с pascal на С++. Есть два...

7
TheBig
-20 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 41
29.07.2016, 17:56 #2
Очень эффективно
0
sham63
3 / 3 / 3
Регистрация: 23.06.2015
Сообщений: 38
29.07.2016, 18:08  [ТС] #3
TheBig , это сарказм? Просто я новичок
0
TheBig
-20 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 41
29.07.2016, 18:12 #4
это результаты многодневных тестов данной программы. тесты показали высокую эффективность
0
Antony Coder
3 / 2 / 3
Регистрация: 17.07.2016
Сообщений: 17
29.07.2016, 19:50 #5
интересно, что тут подразумевается под эффективностью))
0
Alex_Skripa
18 / 18 / 3
Регистрация: 16.09.2013
Сообщений: 126
29.07.2016, 20:33 #6
собственно ты выполнил задачу, а по поводу эффективности это снобы выеживаются . Можно сделать и по другому, но это вполне для новичка (это лаба по предмету же). Если учесть что это лабараторка то вполне, но например, если в реальной задаче применять то это не совсем правильно, и то если работаешь с огромным количеством элементов, или выполняешь данную процедуру многократно (очень много), а так вполне. И еще эффективен слово опасное (необходимо давать критерий эффективности) потому что если у тебя памяти не хватает то нет, а если хватает памяти то вполне.

Добавлено через 13 минут
Да эффективность надо пояснить, я написал 2 варианта но блин в 5 мин не уложился, повторять не охото поэтому в кратце: 1) смотрим по два эл если они не один из них не на своем месте меняем, если оба смотрим след и меняем с первым пол, если на своем то оставляем. 2) Рекурсивно с конца в той же манере.
А вообще программировать легко вот для решения такой задачи: вырежи себе + числа и - числа ну и попробуй вручную сделать и запиши на с++.
0
HenryDukart
124 / 124 / 44
Регистрация: 05.10.2013
Сообщений: 457
Завершенные тесты: 2
29.07.2016, 20:41 #7
sham63, если бы без расхода дополнительной памяти (что можно легко сделать), то было бы еще лучше. Тем более у вас в задании написано "преобразовать", т. е. изменить массив, который вам дан.
0
sham63
3 / 3 / 3
Регистрация: 23.06.2015
Сообщений: 38
30.07.2016, 16:35  [ТС] #8
Спасибо за ответы!
Это не лабы , просто Тренируюсь решая задачки из Интернета.
0
30.07.2016, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2016, 16:35

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

Нужно поместить сначала положительные элементы массива Z в массив R, потом отрицательные
Здравствуйте. Такое задание: &quot;Нужно поместить сначала положительные элементы...

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


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

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

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