Advertisement
sMteX

Untitled

Dec 16th, 2015
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct
  6. {
  7.     char jmeno[50];
  8.     int cislo;
  9. }Uzivatel;
  10. void bubblesort(Uzivatel *u, int pocet);
  11. int main()
  12. {
  13.     FILE *vstup1, *vstup2, *vystup, *original, *kopie;
  14.     char c;
  15.     int cislo, pocet = 0, i;
  16.     Uzivatel *u;
  17.     if ((vstup1 = fopen("cisla.bin", "rb")) == NULL)
  18.         return -1;
  19.     if ((vstup2 = fopen("jmena.txt", "r")) == NULL)
  20.         return -1;
  21.     if ((vystup = fopen("uzivatele.txt", "w")) == NULL)
  22.         return -1;
  23.     while ((fread(&cislo, sizeof(int), 1, vstup1) == 1))
  24.         pocet++;
  25.     u = (Uzivatel*)malloc(pocet * sizeof(Uzivatel));
  26.     fseek(vstup1, 0, SEEK_SET);
  27.     for (i = 0; i < pocet; i++)
  28.     {
  29.         fread(&(u[i].cislo), sizeof(int), 1, vstup1);
  30.         //fgets(u[i].jmeno, 50, vstup2); //cte i \n, zbytecne zalomi radek
  31.         fscanf(vstup2, "%s", u[i].jmeno);
  32.     }
  33.     bubblesort(u, pocet);
  34.     for (i = 0; i < pocet; i++)
  35.     {
  36.         fprintf(vystup, "%s %d\n", u[i].jmeno, u[i].cislo);
  37.     }
  38.     fclose(vstup1);
  39.     fclose(vstup2);
  40.     fclose(vystup);
  41.     free(u);
  42.     u = NULL;
  43.  
  44.     if ((original = fopen("original.txt", "r")) == NULL)
  45.         return -1;
  46.     if ((kopie = fopen("kopie.txt", "w")) == NULL)
  47.         return -1;
  48.     while ((c = getc(original)) != EOF)
  49.         putc(c, kopie);
  50.     fclose(original);
  51.     fclose(kopie);
  52.     system("PAUSE");
  53.     return 0;
  54. }
  55.  
  56. void bubblesort(Uzivatel *u, int pocet)
  57. {
  58.     int i, j;
  59.     Uzivatel temp;
  60.     for (j = pocet - 1; j >= 0; j--)
  61.     {
  62.         for (i = 0; i < j; i++)
  63.         {
  64.             if (u[i].cislo > u[i + 1].cislo)
  65.             {
  66.                 temp = u[i];
  67.                 u[i] = u[i + 1];
  68.                 u[i + 1] = temp;
  69.             }
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement