Не понимаю почему не сортируются столбцы. 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 столбца, именно по ним идет сравнение