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

C++. разобраться с программой! дайте комментарий к каждой строке и команде к ней , опишите принцип действия. int comb(vector sort) { int n = 0; // количество перестановок double fakt = 1.2473309; // фактор уменьшения int step = sort.size() - 1; while (step > = 1) { for (int i = 0; i + step < sort.size(); ++i) { if (sort[i] > sort[i + step]) { swap(sort[i], sort[i + step]); n++; } } step /= fakt; } // сортировка пузырьком for (int i = 0; i < sort.size() - 1; i++) { bool swapped = false; for (int j = 0; j < sort.size() - i - 1; j++) { if (sort[j] > sort[j + 1]) { swap(sort[j], sort[j + 1]); swapped = true; ++n; } } if (! swapped) break; } return n; }

Показать ответ
Ответ:
Alice1st
Alice1st
06.10.2020 19:34
int comb(vector sort)
{
int n = 0; // количество перестановок
double fakt = 1.2473309; // фактор уменьшения
int step = sort.size() - 1;

while (step >= 1)
{
for (int i = 0; i + step < sort.size(); ++i)
{
if (sort[i] > sort[i + step])
{
swap(sort[i], sort[i + step]);
n++;
}
}
step /= fakt;
}
// сортировка пузырьком
for (int i = 0; i < sort.size() - 1; i++)
{
bool swapped = false;
for (int j = 0; j < sort.size() - i - 1; j++)
{
if (sort[j] > sort[j + 1]) {
swap(sort[j], sort[j + 1]);
swapped = true;
++n;
}
}

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