В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
zhannar333ta
zhannar333ta
27.07.2022 12:46 •  Информатика

Алгоритм Пузырьком в C++.
Подскажите в чём ошибка.
void stupid_sort(vector &x)
{
for (int i = 0; i < x.size() - 1; i++)
{
for (int j = x.size() - 1; j < i; j++)
if (x[j - 1] > x[j])
{
temp = x[j - 1];
x[j - 1] = x[j];
x[j] = temp;
}
else break;
}
}
Выдаёт ошибку в 6-ой 8-ой и 10-ой строке.
Из условия, что в той же самой программе алгоритм Глупой сортировки
void stupid_sort(vector &x)
{
for(int i = 0; i < x.size() - 1;)
if(x[i + 1] < x[i])
{
swap(x[i], x[i + 1]);
i = 0;
}
else i++;
}
Работает так как надо.

Ответ:
МиллкаВах
МиллкаВах
23.05.2020 13:30

Объяснение:

Ну букву 'T' замените на int, к примеру:

C++Выделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

void bubbleSort(int* arr, int size)  // Сортировка пузырьком

{

   int tmp;

 

   for(int i = 0; i < size - 1; ++i) // i - номер прохода

   {            

       for(int j = 0; j < size - 1; ++j) // внутренний цикл прохода

       {      

           if (arr[j + 1] < arr[j])  

           {

               tmp = arr[j + 1];  

               arr[j + 1] = arr[j];  

               arr[j] = tmp;

           }

       }

   }

}

Передавать массив вот так:

bubbleSort(имя_массива, количество_элементов);

0

0,0(0 оценок)
Ответ:
Лизатян4
Лизатян4
23.05.2020 13:30

Не правильно передан массив.И как человек выше ответил,не Т,а int

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?