Сортировка - исправить ошибки в коде - C (СИ)
Формулировка задачи:
Подскажите пожалуйста,где ошибка?
for (i = 0; i<k; i++)
for (j = 0; j<k - 1; j++){
fread(&car1, sizeof(car), 1, f);
fread(&car2, sizeof(car), 1, f);
if (strcmp(car1.marka, car2.marka)>0)
{
fseek(f, 1, -2);
fwrite(&car2, sizeof(car), 1, f);
fwrite(&car1, sizeof(car), 1, f);
}
fseek(f, 1, -1);
}
printf("Sortirovka proshla uspeshno. \n");
vivod();
fclose(f);Решение задачи: «Сортировка - исправить ошибки в коде»
textual
Листинг программы
for (i = k-1; i>0; i--)//если k т.е. количество записей определено правильно
{
for (j = 0; j<i; j++)
{
fread(&car1, sizeof(car), 1, f);
fread(&car2, sizeof(car), 1, f);
if (strcmp(car1.marka, car2.marka)>0)
{
fseek(f, 1, -2*sizeof(car));
fwrite(&car2, sizeof(car), 1, f);
fwrite(&car1, sizeof(car), 1, f);
}
}
fseek(f, 0, 0);
}