Advertisement
Guest User

Untitled

a guest
Feb 15th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <stdbool.h>
  5.  
  6. struct Dane
  7. {
  8.     char nazwisko[40];
  9.     char imie[30];
  10.     char plec;
  11. };
  12. struct Dane dane[40];
  13. int ilosc;
  14. void wczytajDane();
  15. void sortujDane(struct Dane dane[], int cnt);
  16. void wypiszDane();
  17.  
  18. int main(){
  19.     wczytajDane();
  20.     sortujDane(dane, ilosc);
  21.     wypiszDane();
  22.     return 0;
  23. }
  24. void wczytajDane()
  25. {
  26.  
  27.     printf("Ilosc danych do wpisania: ");
  28.     scanf("%d", &ilosc);
  29.  
  30.     for (int i=0;i<ilosc;i++)
  31.     {
  32.         printf("Podaj naziwsko: ");
  33.         scanf("%s", dane[i].nazwisko);
  34.         printf("Podaj imie: ");
  35.         scanf("%s", dane[i].imie);
  36.         if(dane[i].imie[strlen(dane[i].imie)-1]=='a')
  37.             dane[i].plec='k';
  38.         else
  39.             dane[i].plec='m';
  40.     }
  41. }
  42. void wypiszDane(){
  43.     int i;
  44.     for(i = 0; i < ilosc; i++){
  45.         printf(" %s %s %c\n\n" , dane[i].nazwisko, dane[i].imie, dane[i].plec);
  46.     }
  47. }
  48.  
  49. void sortujDane(struct Dane dane[], int cnt){
  50.         int i,j;
  51.         struct Dane tmp;
  52.  
  53.         for(i = 1;i < cnt; ++i){
  54.             tmp = dane[i];
  55.             j = i - 1;
  56.             while (j >= 0 && strcmp(dane[i].nazwisko,dane[j].nazwisko)<0){
  57.                     dane[j + 1] = dane[j];
  58.                     j = j - 1;
  59.             }
  60.             dane[j + 1] = tmp;
  61.          }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement