Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void output_train(train **arr, int num, int size){
- //Готовый вывод по номеру поезда
- int i;
- for (i=0;i<size;i++)
- if ((*arr)[i].numr == num)
- printf ("Пункт:%9s\nНомер:%9d\nВремя:%9.2f\n",(*arr)[i].nazn,(*arr)[i].numr,(*arr)[i].time);
- }
- void output_sort(train **arr,int size){
- int i,j;
- //Здесь готовая сортировка по номеру поезда
- int *train_num,temp,min_i;
- train_num = malloc(size * sizeof(int));
- for (i=0;i<size;i++){
- train_num[i] = (*arr)[i].numr;}
- for (i = 0; i < size - 1; i++) {
- min_el = i;
- for (j = i + 1; j < size; j++) {
- if (train_num[j] < train_num[min_i]) {
- min_el = j;
- }
- }
- temp = train_num[i];
- train_num[i] = train_num[min_i];
- train_num[min_i] = temp;
- }
- /*Проверка, не совпадает ли текущее значение train_num с предыдущим.
- Т.е. train_num уже сортирован - одинаковые значения будут идти подряд.*/
- for (i=0;i<size;i++)
- { if(train_num[i]!=train_num[i-1]) output_train(&(*arr),train_num[i],size);}
- free(train_num);
- }
- //Код просто копипастим, правим переменные и какбэ работает
Add Comment
Please, Sign In to add comment