Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5.  
  6. typedef struct zajazd {
  7. int id;
  8. char meno[100];
  9. char dest[100];
  10. int rok;
  11. int dlzka;
  12. struct zajazd* dalsi;
  13.  
  14. }ZAJAZD;
  15.  
  16. ZAJAZD* nacitaj(ZAJAZD *pole) {
  17.  
  18. FILE *fr;
  19. ZAJAZD *pom;
  20.  
  21. fr = fopen("vstup.txt", "r");
  22.  
  23. pom = (ZAJAZD*)malloc(sizeof(ZAJAZD));
  24.  
  25. pole = pom;
  26.  
  27. while (fscanf(fr, "%d", &pom->id), pom->id >= -1 && pom->id != EOF) {
  28. fscanf(fr, "%s %s %d %d" , pom->meno, pom->dest, &pom->rok, &pom->dlzka);
  29. pom->dalsi = (ZAJAZD*)malloc(sizeof(ZAJAZD));
  30. pom = pom->dalsi;
  31. pom->dalsi = NULL;
  32. }
  33.  
  34. fclose(fr);
  35.  
  36. return pole;
  37. }
  38.  
  39. void vypis(ZAJAZD *pole) {
  40.  
  41. printf("vypis:\n");
  42.  
  43. while ((pole->dalsi) != NULL) {
  44. printf("%d %s %s %d %d\n", pole->id, pole->meno, pole->dest, pole->rok, pole->dlzka);
  45. pole = pole->dalsi;
  46. }
  47. }
  48.  
  49. void najnovsie(ZAJAZD *pole) {
  50.  
  51. int rok = pole->rok;
  52. int najd = pole->dlzka;
  53. int pocet = 0;
  54.  
  55. while (pole->id != -1) {
  56.  
  57. if (pole->rok > rok) {
  58. rok = pole->rok;
  59. najd = 0;
  60. pocet = 0;
  61. }
  62.  
  63. if (pole->rok == rok) {
  64. if (pole->dlzka > najd)
  65. najd = pole->dlzka;
  66. pocet++;
  67. }
  68.  
  69. pole = pole->dalsi;
  70. }
  71.  
  72. printf("najnovsie:\n%d %d\n", najd, pocet);
  73. }
  74.  
  75. int main() {
  76.  
  77. ZAJAZD *pole;
  78.  
  79. pole = nacitaj(pole);
  80.  
  81. vypis(pole);
  82.  
  83. najnovsie(pole);
  84.  
  85. getchar();
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement