Не понимаю почему не сортируются столбцы. C

Мне нужно отсортировать столбцы по возрастанию, сортировку решил провести методом пузырька, но не понимаю почему значения массива с определенным номером не меняется

struct {
    char in[20]; // инвентарный номер товара
    int kolcomp; // количество предприятий, покупающих товар 
    int vol;  // объем продаваемых партий товара каждому предприятию
} product[50];
int n, i, f,
    kv[10];// объем продажи товара всем предприятия

...

for (i = 0; i < n; i++)
{
    puts("Инвентарный номер(Пример: В120-П): "); gets_s(product[i].in);
    puts("Кол-во предприятий: "); scanf("%d", &product[i].kolcomp); while (getchar() != '\n');
    puts("Объем продаваемых партий: "); scanf("%d", &product[i].vol); while (getchar() != '\n');
    kv[i] = product[i].kolcomp * product[i].vol;
}

...

int b,c,k;
for (k = 1; k < n; k++)
    for(i = 0; i<n-k;i++)
        if(kv[i] > kv[i+1])
        {
            b = product[i].vol;
            c = product[i].kolcomp;
            product[i].vol = product[i+1].vol;
            product[i].kolcomp = product[i+1].kolcomp;
            product[i+1].vol = b;
            product[i+1].kolcomp = c;
        
        }
puts(title); //вывод таблицы
for (i = 0; i < n; i++)
{
    printf("%10s%35d%45d\n", product[i].in, product[i].kolcomp, product[i].vol);
}

Получается так: https://imgur.com/a/CVo4UyL Числа между таблицами это значения kv[i], т.е произведения 2 и 3 столбца, именно по ним идет сравнение


Ответы (0 шт):