Задать вопрос
8 сентября, 10:21

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;

}

+5
Ответы (1)
  1. 8 сентября, 13:22
    0
    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;

    }
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «C++. Помогите разобраться с программой! Дайте комментарий к каждой строке и команде к ней, опишите принцип действия. int comb (vector sort) ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Выберите логическое выражение, принимающее значение True a) (True and True) and (False or False) b) Not (True and Not False) or False c) (True or False) or Not (True and True) d) Not (True or False) and True
Ответы (1)
Перепишите программу под pascal using System; namespace ConsoleApplication { class Class { static int [] Input () { Console. WriteLine ("введите размерность массива") ; int n=int. Parse (Console.
Ответы (1)
Как переделать в этой задаче на С + + статический массив на динамический? #include using namespace std; int main () { int a[][2] = {2,6,1,9,5,7,0,10}; for (int i = 0; i < 4; i++) if (i % 2 = = 0) { for (int k = 0; k < 2 - 1; k++) for (int j = 0;
Ответы (1)
1. Вычислите логические выражения: not true and not false not true or not false not (true or false) not (true and false) 2. Напишите условие нахождения точки a в первом квадранте системы координат, считая ее координаты заданными X переменными x, y.
Ответы (1)
C++ В этой задаче от вас потребуется написать функцию bool is_permutation (int * A, int * B, int size), которой дается два массива A и B, и она должна вернуть true, если массив B можно получить из массива A перестановкой элементов, и false, если
Ответы (1)