Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 31.03.2021
Сообщений: 41

Функция для сортировки массива (найдите ошибку)

30.04.2021, 13:29. Показов 809. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
void sortiroka(int *a, int length)
{
    int sortt;
    for (int i = 0; i < length; i++)
    {
        if (a[i - 1] > a[i])
        {
            sortt = a[i - 1];
            a[i - 1] = a[i];
            a[i] = sortt;
            i = 0;
        }
    }
    cout << "Ответ: " << sortt;
 
 
}
 
 
 
int main()
{
    system("chcp 1251>nul");
    int massive[5];
    cout << "введите массив: " << endl;
    for(int i = 0; i < 5;i++)
    {
        cin >> massive[i];
    }
    sortiroka(massive, 5);
 
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2021, 13:29
Ответы с готовыми решениями:

Найдите ошибку в программе сортировки массива по возрастанию
Prog zl; uses crt; var a:array of integer; i,k,m,p:integer; begin clscr; randomize; writeln('размерность массива'); ...

Функция для сортировки массива
уважаемые модераторы не переименовывайте пожалуйста тему. уважаемые форумчане помогите пожалуйста понять в чем проблема. ...

Функция для сортировки массива пузырьком
Всем огромное спасибо! помогли и примеры что надо. Всем удачи! Добавлено через 11 часов 30 минут Всем добрый день. Прошу помочь в...

7
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
30.04.2021, 13:33
nerduz, не понимаю что ви делаете,скиньте условие,и нормально код
0
0 / 0 / 0
Регистрация: 31.03.2021
Сообщений: 41
30.04.2021, 13:35  [ТС]
сделать функцию для сортировки массива, c клавиатуры вводятся элементы массива
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
30.04.2021, 13:39
Цитата Сообщение от nerduz Посмотреть сообщение
}*/void sortiroka(int *a, int length)
{
int sortt;
for (int i = 0; i < length; i++)
{
if (a[i - 1] > a[i])
{
sortt = a[i - 1];
a[i - 1] = a[i];
a[i] = sortt;
i = 0;
}
}
cout << "Ответ: " << sortt;
}
int main()
{
system("chcp 1251>nul");
int massive[5];
cout << "введите массив: " << endl;
for(int i = 0; i < 5;i++)
{
cin >> massive[i];
}
ето нормально код?мда...

Добавлено через 1 минуту
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
#include <iostream>
#include <cmath>
using namespace std;
void sortiroka(int* a, int length)
{
    int sortt;
    for (int i = 0; i < length; i++)
    {
        if (a[i - 1] > a[i])
        {
            sortt = a[i - 1];
            a[i - 1] = a[i];
            a[i] = sortt;
            i = 0;
        }
    }
}
 
int main()
{
    system("chcp 1251>nul");
    int massive[5];
    cout << "введите массив: " << endl;
    for (int i = 0; i < 5; i++)
    {
        cin >> massive[i];
    }
    sortiroka(massive, 5);
    for (int i = 0; i < 5; i++)
    {
        cout<<massive[i]<<" ";
    }
 
}
Добавлено через 53 секунды
Цитата Сообщение от nerduz Посмотреть сообщение
cout << "Ответ: " << sortt;
зачем ето?вам нужно ж массив отсортирован вивести а ви фигню делаете

Добавлено через 50 секунд
Цитата Сообщение от matviiv Посмотреть сообщение
}*/void sortiroka(int *a, int length)
{
int sortt;
for (int i = 0; i < length; i++)
{
if (a[i - 1] > a[i])
{
sortt = a[i - 1];
a[i - 1] = a[i];
a[i] = sortt;
i = 0;
}
}
cout << "Ответ: " << sortt;
}
int main()
{
system("chcp 1251>nul");
int massive[5];
cout << "введите массив: " << endl;
for(int i = 0; i < 5;i++)
{
cin >> massive[i];
}
никогда так не скидивайте,посмотрите как я кинул,а етот обгризок просто
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
30.04.2021, 14:41
nerduz, за один цикл массив отсортировать невозможно. Даже экзотическая "сортировка подсчётом" потребует вспомогательный цикл. А сортировка пузырьком, в которую вы пытаетесь - точно содержит два цикла, а не один!
0
0 / 0 / 0
Регистрация: 31.03.2021
Сообщений: 41
05.05.2021, 09:46  [ТС]
Можете пожалуйста изменить функцию чтобы она сортировала по убыванию ( сейчас она сортируют по возрастанию )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void povozr(int* a, int length)
{
    int sortt;
    for (int i = 0; i < length; i++)
    {
        if (a[i - 1] > a[i])
        {
            sortt = a[i - 1];
            a[i - 1] = a[i];
            a[i] = sortt;
            i = 0;
        }
    }
}
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
05.05.2021, 10:00
Цитата Сообщение от nerduz Посмотреть сообщение
if (a[i - 1] > a[i])
Поменяйте if (a[i - 1] > a[i]); на if (a[i - 1] < a[i]);
0
Модератор
Эксперт С++
 Аватар для zss
13778 / 10971 / 6491
Регистрация: 18.12.2011
Сообщений: 29,257
07.05.2021, 08:16
Kuzia domovenok, в тексте ТС применена небольшая хитрость: если нашлись неотсортированные элементы, то счетчик цикла сбрасывается в ноль (цикл начинается сначала).
Ошибка в том, что при i равном нулю идет обращение к несуществующему -1 элементу: (
Цитата Сообщение от nerduz Посмотреть сообщение
if (a[i - 1] > a[i])
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
#include <iostream>
#include <cstdlib>
using namespace std;
void sortiroka(int *a, int length)
{
    int sortt;
    for (int i = 1; i < length; i++) //  !!!!!!!!!!! i=1
    {
        if (a[i - 1] > a[i])
        {
            sortt = a[i - 1];
            a[i - 1] = a[i];
            a[i] = sortt;
            i = 0;
        }
    }
}
void print(int *a, int length)
{
    for (int i = 0; i < length; i++)
    {
        cout<<a[i]<<' ';
    }
    cout<<endl;
}
 
 
int main()
{
    system("chcp 1251>nul");
    const int N=5;
    int massive[N];
    cout << "введите массив: " << endl;
    for(int i = 0; i < N;i++)
    {
        cin >> massive[i];
    }
    cin.get();
    print(massive,N);
    sortiroka(massive, N);
    print(massive,N);
    cin.get();
    return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2021, 08:16
Помогаю со студенческими работами здесь

Функция для сортировки массива пузырьком
Помогите исправить код. Скорей всего проблема в сортировке. Условие: Дана матрица (N+15)x(N+15), отсортировать парные рядки в прямом...

Функция для сортировки массива выбором
Добрый день всем, на сегодня лабораторная нужна, но не могу понять как реализовать этот код За ранее благодарен кто откликнется!!! ...

Дружественная функция для сортировки массива объектов
С этими классами трудно разобраться. У меня есть обьект класса idk и нужно создать дружественную функцию для каталога(сортировки), это я...

функция в с++ (IsPalindrome) найдите ошибку)
Описать функцию IsPalindrom(K), возвращающую True, если целый параметр K (&gt; 0) является палиндромом (то есть его запись читается...

Не могу найти ошибку в программе(для просмотра картинок):кнопка НАЗАД не работает(не становится активной) Найдите ошибку.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru