Advertisement
olekturbo

k0dz1k

Jan 16th, 2017
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct{
  5.  
  6. char imie[30];
  7. char nazwisko[40];
  8. int wiek;
  9. }osoba;
  10.  
  11.  
  12. int main(){
  13.  
  14. FILE *plik;
  15.  
  16. osoba os1[5];
  17. int i, j, licznik = 0;
  18. char bufor[40];
  19. int bufor_int;
  20.  
  21. for(i = 0; i < 5; i++){
  22. scanf("%s", os1[i].imie);
  23. scanf("%s", os1[i].nazwisko);
  24. scanf("%d", &os1[i].wiek);
  25. licznik++;
  26. if(os1[i].wiek < 0) break;
  27. }
  28.  
  29. for(i = 0; i < licznik; i++){ //BUBBLESORT
  30. for(j = 1; j < licznik-i; j++){
  31. if(strcmp(os1[j-1].nazwisko, os1[j].nazwisko) > 0){ //sortowanie wg nazwisk
  32. strcpy(bufor, os1[j-1].nazwisko);
  33. strcpy(os1[j-1].nazwisko, os1[j].nazwisko);
  34. strcpy(os1[j].nazwisko, bufor);
  35.  
  36. bufor_int = os1[j-1].wiek; //wstawienie wieku w odpowiednie miejsce
  37. os1[j-1].wiek = os1[j].wiek;
  38. os1[j].wiek = bufor_int;
  39.  
  40. strcpy(bufor, os1[j-1].imie); //wstawienie imion w odpowiednie miejsce
  41. strcpy(os1[j-1].imie, os1[j].imie);
  42. strcpy(os1[j].imie, bufor);
  43.  
  44. }
  45. }
  46. }
  47.  
  48. plik = fopen("sort_dane.txt", "w");
  49.  
  50. for(i = 0; i < licznik; i++){
  51. fprintf(plik, "%s", os1[i].imie);
  52. fprintf(plik, " %s", os1[i].nazwisko);
  53. fprintf(plik, " %d\n", os1[i].wiek);
  54. }
  55.  
  56. fclose(plik);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement