Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247

Сортировка массива по возрастанию и убыванию

01.02.2021, 06:49. Показов 3161. Ответов 7

Студворк — интернет-сервис помощи студентам
Здравствуйте. Начал изучать c++, помогите пожалуйста с этим заданием.
Нужно написать программу, в которой массив, заполненный рандомными значениями, сортируется по убыванию или возрастанию. Порядок сортировки выбирает пользователь - true - по возрастанию, false - по убыванию.

Вроде и получилось, но программа считает только по убыванию, независимо от выбора пользователя. Подскажите, в чем проблема? Как сделать так, что бы программа, по выбору пользователя, сортировала значения массива ещё и по возрастанию?

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
#include<iostream>
using namespace std;
void f(int massiv[],int size )
{
    for (int i = 0; i < size; i++)
    {
        massiv[i] = rand() % 100;
    }
}
void f2(int massiv[],int size, bool tf)
{
    int temp;
    if (tf = true)
    {
        for (int i=0;i<size;i++)
        {for (int j=0;j<size-1;j++)
                if(massiv[j]<massiv[j+1])
                {  temp=massiv[j];
                massiv[j]=massiv[j+1];
                massiv[j+1]=temp;
                }}
    }
    else
    {
        for (int i=0;i<size;i++)
        {for (int j=0;j<size-1;j++)
                if(massiv[j]>massiv[j+1])
                {  temp=massiv[j];
                massiv[j]=massiv[j+1];
                massiv[j+1]=temp;
                }}
    }
}
int main()
{
    setlocale(LC_ALL, "rus");
    bool tf;
    cout << "Пожалуйста, выбирите:\n0 - false;\n1 - true.\n\n";
    cin >> tf;
    cout << endl;
    const int size = 10;
    int massiv[10];
    f(massiv, 10);
    f2(massiv, 10, tf);
    for (int i=0;i<size;i++)
    {cout<<massiv[i]<<"\t";}
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2021, 06:49
Ответы с готовыми решениями:

Сортировка массива по возрастанию\убыванию
Доброго времени суток всем! Ребята, выручайте, до дедлайна осталось 5 часов, а я так и не пойму, в чём ошибка:(( Нужно в введённом...

Сортировка массива по возрастанию и убыванию
Сортируется только по возрастанию, где ошибка в коде? #include &lt;iostream&gt; using namespace std; int main() { int *arr; ...

Сортировка первой половины массива по возрастанию, а второй по убыванию
Здравствуйте, помогите пожалуйста. Дан массив А, состоящий из 20 целых чисел. Отсортируйте первую половину массива по возрастанию, а...

7
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
01.02.2021, 07:34
Цитата Сообщение от Rhoxolan Посмотреть сообщение
if (tf = true)
???
1
фрилансер
 Аватар для Алексей1153
6440 / 5634 / 1127
Регистрация: 11.10.2019
Сообщений: 14,980
01.02.2021, 08:15
Rhoxolan,
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
#include<iostream>
 
void random_filling(int m[],const size_t size )
{
    for (size_t i = 0; i < size; i++)
    {
        m[i] = rand() % 100;
    }
}
 
void sorting(int m[],const size_t size, const bool mode)
{
     auto pred=[mode](auto& l, auto& r)
     {
          if(mode){return l<r;}
          else    {return l>r;}
     };
 
     for (size_t i=0;i<size;i++)
     {
          for (size_t j=0;j+1<size;j++)
          {
               if(pred(m[j],m[j+1]))
               {
                    auto temp=m[j];
                    m[j]=m[j+1];
                    m[j+1]=temp;
               }
          }
     }
}
 
int main()
{
    std::cout <<
    "sorting mode::\n"
    "0 - ascending\n"
    "1 - descending\n"
    "\n";
    
    bool mode{}; std::cin >> mode;
    std::cout <<'\n';
 
    int m[10]{};
    random_filling(m, std::size(m));
    sorting(m, std::size(m), mode);
    
    for (auto i:m){std::cout<<i<<"  ";}
}
0
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
01.02.2021, 08:32  [ТС]
AnyJey,
C++
1
bool tf;
Алексей 1153, а без auto возможно? Чисто так как я написал.
0
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
01.02.2021, 08:38
Цитата Сообщение от Rhoxolan Посмотреть сообщение
bool tf;
что происходит в стр.13? это не Pascal
0
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
01.02.2021, 08:41  [ТС]
AnyKey, если tf, который bool, true - один вывод, если false (23 строка) - другой.
0
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
01.02.2021, 08:44
Лучший ответ Сообщение было отмечено Rhoxolan как решение

Решение

....учебники читать
C++
1
2
3
if (tf == true)
//или
if (tf)
1
 Аватар для Rhoxolan
13 / 13 / 7
Регистрация: 16.12.2020
Сообщений: 247
01.02.2021, 08:47  [ТС]
AnyKey, спасибо! Теперь работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2021, 08:47
Помогаю со студенческими работами здесь

Сортировка массива по возрастанию или по убыванию, в зависимости от параметра
Дан массив чисел размерностью 10 элементов. Написать программу, которая сортирует массив по возрастанию или по убыванию, в зависимости от...

Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию
Добрый Вечер!!!Пожалуйста помогите решить задачу на Шаблоны Функций: Разработайте программу, в которой реализована сортировка элементов...

Сортировка массива вставкой, чтобы четные числа шли по возрастанию, а нечетные по убыванию
Всем привет! Есть задача отсортировать массив таким образом, чтобы четные числа шли в нем по возрастанию, а нечетные по убыванию. Числа...

Шаблонная функция: сортировка массива по возрастанию или по убыванию, в зависимости от третьего параметра функции
Данный массив чисел. Написать шаблонную функцию, которая сортирует массив по росту или по убыванию, в зависимости от третьего параметра...

Сортировка массива по возрастанию/убыванию
сортировка массива с n элементов в двух режимах: по возрастанию и убыванию n = 10-12 элементов все элементы int запросить несколько...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru