Так у меня есть пример array
:Bubble сортировка с зЬгсром
char* drivers[10] = {"Mark", "Jacob", "Andre", "Thomas", "Hellboy"};
И в srand
функции, которая генерирует случайное «время прохождения круга» для каждого водителя и хранит LAPTIME к array
:
float lap_time[10];
Мне нужно отсортировать их соответственно, чтобы получить «Топ 1» и «Последний 1», я думаю о пузыре, но он не работает так, как должен. Он генерирует ошибку. Ошибка шины или что-то подобное. Если я удалю часть strcpy()
, она будет работать так же хорошо. Но что-то связанное с strcpy()
имеет ошибку.
Это просто функция сортировки, все остальное работает отлично. Когда strcpy()
добавляется с массивом char tmp[]
, эта функция сработает.
printf()
для этой функции работает. Просто проблема с получением моего strcpy()
для работы.
Сортировка:
#define maks 10;
int Fastestdriver(char* drivers[], float lap_times[], char tmp[maks])
{
int i, j, a;
for (i = 0; i < 10; ++i)
{
for (j = i+1 ; j < 10 ; ++j)
{
if (lap_time[i] < lap_time[j])
{
a = lap_time[i];
lap_time[i] = lap_time[j];
lap_time[j] = a;
strcpy(tmp, drivers[i]);
strcpy(drivers[i], drivers[j]);
strcpy(drivers[j], tmp);
}
}
}
return 0;
}
изменить на 'char * tmp = drivers [i]; drivers [i] = drivers [j]; drivers [j] = tmp; ' – BLUEPIXY
Здесь не нужно использовать' strcpy'. Просто перетасуйте указатели на свои струны. –
Как это даже скомпилировать? '#define maks 10;' не должно иметь точку с запятой. –