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

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

Войти
Регистрация
Восстановить пароль
 
Труфольдино
0 / 0 / 0
Регистрация: 10.01.2012
Сообщений: 8
#1

Описать класс, делающий сортировку целочисленного одномерного массива, с использованием всего 5-ти операторов - C++

06.06.2012, 10:14. Просмотров 525. Ответов 3
Метки нет (Все метки)

Задача:
Описать класс, делающий сортировку целочисленного одномерного массива, с использованием всего 5-ти операторов (т.е. кол-во операторов ограничено всего пятью).

Как сделать такой класс? Использовать сторонние библиотеки вроде как нельзя. Все мои идеи требуют значительно больше, чем пять операторов
Буду очень признателен помощи и объяснениям по коду.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 10:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать класс, делающий сортировку целочисленного одномерного массива, с использованием всего 5-ти операторов (C++):

Выполнить сортировку целочисленного массива - C++
Выполнить сортировку целочисленного массива (поиск в массиве) из n элементов. Алгоритм сортировки (поиска) оформить в виде...

Функция, которая удаляет из целочисленного одномерного массива все, и возвращает новый размер массива - C++
Разработать и испытать функцию, которая удаляет из целочисленного одномерного массива все, и возвращает новый размер массива. #include...

Удаление элементов из целочисленного одномерного массива - C++
Доброго времени суток! У меня возникла небольшая проблема и после нескольких дней безуспешных попыток найти ошибку я решил обратиться к...

Вычислить значения 42 элементов одномерного целочисленного массива - C++
Вычислить значения 42 элементов одномерного целочисленного массива Y в интервале (-10, 6) с использованием генератора случайных чисел.

Из одномерного целочисленного массива вывести те элементы, КРАТНЫЕ ТРЁМ - C++
Всем доброго времени суток. Помогите пож-ста сделать программу для с++ билдер. Условие. Из одномерного целочисленного массива...

Из одномерного целочисленного массива переписать все числа во второй массив - C++
Есть ли уже у кого-то готовое решение ? Из одномерного целочисленного массива переписать все числа во второй массив так, чтобы сначала...

3
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
06.06.2012, 16:54 #2
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
using namespace std;
class Mass
{
private:
    static const int size=15;
    int mas[size];
public:
    Mass();
    void Output();
    void Sort();
};
Mass::Mass()
{
    srand((unsigned)time(NULL));
    for(int i=0;i<size;i++)
    {
        mas[i]=rand()%100;
    }
}
void Mass::Output()
{
    cout<<"Massiv: "<<endl;
    for(int i=0;i<size;i++)
    {
        cout<<mas[i]<<" ";
    }
}
void Mass::Sort() // пузырьковая сортировка, самая короткая и простая. Что использовать ещё меньше операторов, нужно подключать библиотеки.
{
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size-1;j++)
        {
            if(mas[j]>mas[j+1])
            {
                int temp=mas[j];
                mas[j]=mas[j+1];
                mas[j+1]=temp;
            }
        }
    }
}
int main()
{
    Mass obj;
    obj.Output();
    obj.Sort();
    cout<<endl;
    obj.Output();
    getch();
    return 0;
}
0
Труфольдино
0 / 0 / 0
Регистрация: 10.01.2012
Сообщений: 8
06.06.2012, 20:49  [ТС] #3
Большое спасибо за помощь, Андрей!
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.06.2012, 08:52 #4
Цитата Сообщение от Andrey.K Посмотреть сообщение
for(int i=0;i<size;i++) { for(int j=0;j<size-1;j++) { if(mas[j]>mas[j+1]) { int temp=mas[j]; mas[j]=mas[j+1]; mas[j+1]=temp; } } }
Сичтаем: for, =, <, >, ++, +, []. Итого 7.
Для сортировки необъодимы:
1. Опретор цикла.
2. Оператор присваивания.
3. Опретор сложения, инкремента, декремента, или вычитания.
4. Оператор индексации, или размыенования.
5. Опретор сравнения.
Всё, пять штук уже есть. Два разных сравнения исключаются, также исключается одновременное применение и сложения, и инкремента.

Добавлено через 8 минут
По такому условию будет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Mass::Sort()
{
    for(int i=0;i<size-1;i=i+1)
    {
        for(int j=i+1;j<size;j=j+1)
        {
            if(mas[j]<mas[i])
            {
                int temp=mas[i];
                mas[i]=mas[j];
                mas[j]=temp;
            }
        }
    }
}
Вот теперь их 5.
0
07.06.2012, 08:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2012, 08:52
Привет! Вот еще темы с ответами:

Для одномерного целочисленного массива найти количество и процентное соотношение отрицательных элементов - C++
Люди добрые, помогите! Для одномерного целочисленного массива из 10 элементов найти количество и процентное соотношение отрицательных...

Выполнить сортировку одномерного массива X(100) методом Шелла - C++
задание: Выполнить сортировку одномерного массива X(100) методом Шелла. В отсортированном одномерном массиве X(100)выполнить поиск...

Выполнить сортировку одномерного массива X(100) методом Шейкера. - C++
Выполнить сортировку одномерного массива X(100) методом Шейкера. В отсортированном одномерном массиве X(100)выполнить поиск за-данного...

Выполнить сортировку одномерного массива X(100) методом вычисления адреса - C++
Разобрался наконец с заданием...оно звучит так как в заголовке...сортировка вычислением адреса


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

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

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