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

Разработать функцию, которая сортирует только положительные элементы массива на своих местах - C++

Восстановить пароль Регистрация
 
 
stray911
1 / 1 / 0
Регистрация: 05.11.2013
Сообщений: 23
11.01.2014, 23:49     Разработать функцию, которая сортирует только положительные элементы массива на своих местах #1
вообщим нужна помощ
фунция есть, но как сделать чтобы элементы остались на своих местах?
пробывал через if(mas[i]>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
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
void SortMass(int * mas, int n)
{
    for(int i = n - 1; i >= 1; i--)
        for(int j = 0; j < i; j++)
        {
            if(mas[j] > mas[j+1])
            {
                int foo = mas[j];
                mas[j] = mas[j+1];
                mas[j+1] = foo;
            }
        }
}
 
int main ()
{
    cout << "n: ";
    int n = 0;
    int*mas;
    cin >> n;
    mas = new int[n];
    srand(time(0));
    for(int i = 0; i < n; i++)
    {
        mas[i]  = rand()%100-50;
        cout << mas[i] << ' ';
    }
    cout << endl;
    SortMass(mas, n);
    cout << "sort" << endl;
    for(int i = 0; i < n; i++)
        cout << mas[i] << ' ';
    cin.get();
    cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 23:49     Разработать функцию, которая сортирует только положительные элементы массива на своих местах
Посмотрите здесь:

Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. C++
C++ Дана последовательность, расположить ее положительные элементы, стоящие на нечетных местах по возрастанию
C++ Написать функцию, которая сортирует вещественный массив методом Хоара
Разработать функцию, которая считает среднее арифметическое и геометрическое массива чисел C++
C++ Положительные элементы переставить в обратном порядке, а отрицательные оставить на своих местах
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stray911
1 / 1 / 0
Регистрация: 05.11.2013
Сообщений: 23
12.01.2014, 00:27  [ТС]     Разработать функцию, которая сортирует только положительные элементы массива на своих местах #21
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
2 варианта сортировок или заданий?)
заданий)

1. Розробити функцію , що знаходить максимальний і мінімальний елементи, їх номери у одновимірному масиві та міняє ці елементи місцями (ну тут вроде все понятно, немного помучится)

2. Створити функцію сортування другого рядка матриці і знаходження ії максимального елемента. (тут тоже не тяжело уже подобное делал только с столбцами)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1808 / 1629 / 435
Регистрация: 15.12.2013
Сообщений: 5,800
12.01.2014, 00:30     Разработать функцию, которая сортирует только положительные элементы массива на своих местах #22
уверен, что вы напишите эти задачи без проблем, эта даже немного сложнее будет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 00:44     Разработать функцию, которая сортирует только положительные элементы массива на своих местах
Еще ссылки по теме:

C++ Дана последовательность расположить её положительные элементы стоящие на нечётных местах по возрастанию
C++ Записать в массив X только положительные элементы исходного, а в Y только отрицательные
C++ Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции.

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

Или воспользуйтесь поиском по форуму:
stray911
1 / 1 / 0
Регистрация: 05.11.2013
Сообщений: 23
12.01.2014, 00:44  [ТС]     Разработать функцию, которая сортирует только положительные элементы массива на своих местах #23
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
уверен, что вы напишите эти задачи без проблем, эта даже немного сложнее будет
спасибо)
подняли боевой дух))

Добавлено через 13 минут
Цитата Сообщение от stray911 Посмотреть сообщение
спасибо)
подняли боевой дух))
первая задачка есть

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void function1(int * mas, int n)
{
 
    int imin=0;
    for(int i=1;i<n;i++)
    {
        if (mas[imin]>mas[i])
            imin=i;
    }
    cout<<"min="<<mas[imin]<<"\tnomber="<<imin<<endl;
    
    int imax=0;
    for(int i=1;i<n;i++)
    {
        if (mas[imax]<mas[i])
            imax=i;
    }
    cout<<"max="<<mas[imax]<<"\tnomber="<<imax<<endl;
    swap(mas[imin], mas[imax]);
}
Yandex
Объявления
12.01.2014, 00:44     Разработать функцию, которая сортирует только положительные элементы массива на своих местах
Ответ Создать тему
Опции темы

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