Guest User

Untitled

a guest
Jun 20th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. void output_train(train **arr, int num, int size){
  2. //Готовый вывод по номеру поезда
  3. int i;
  4. for (i=0;i<size;i++)
  5. if ((*arr)[i].numr == num)
  6. printf ("Пункт:%9s\nНомер:%9d\nВремя:%9.2f\n",(*arr)[i].nazn,(*arr)[i].numr,(*arr)[i].time);
  7. }
  8.  
  9. void output_sort(train **arr,int size){
  10. int i,j;
  11. //Здесь готовая сортировка по номеру поезда
  12. int *train_num,temp,min_i;
  13. train_num = malloc(size * sizeof(int));
  14. for (i=0;i<size;i++){
  15. train_num[i] = (*arr)[i].numr;}
  16. for (i = 0; i < size - 1; i++) {
  17. min_el = i;
  18. for (j = i + 1; j < size; j++) {
  19. if (train_num[j] < train_num[min_i]) {
  20. min_el = j;
  21. }
  22. }
  23. temp = train_num[i];
  24. train_num[i] = train_num[min_i];
  25. train_num[min_i] = temp;
  26. }
  27.  
  28.  
  29. /*Проверка, не совпадает ли текущее значение train_num с предыдущим.
  30. Т.е. train_num уже сортирован - одинаковые значения будут идти подряд.*/
  31. for (i=0;i<size;i++)
  32. { if(train_num[i]!=train_num[i-1]) output_train(&(*arr),train_num[i],size);}
  33.  
  34. free(train_num);
  35. }
  36. //Код просто копипастим, правим переменные и какбэ работает
Add Comment
Please, Sign In to add comment