Advertisement
Jakub_Kaminski

Untitled

Nov 28th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct osoba{
  6. char *imie;
  7. char *nazwisko;
  8. int rok_urodzenia;
  9. };
  10.  
  11. /** Funkcja sortuje adresy struktur z tablicy adresów struktur typu osoba*/
  12. int sortuj(osoba **tablica, int liczba){
  13. int i, j;
  14. osoba *temp;
  15. for(i = 0; i < liczba; i++)
  16. for(j = 0; j < liczba; j++)
  17. if( tablica[i]->rok_urodzenia > tablica[j]->rok_urodzenia){
  18. temp = tablica[i];
  19. tablica[i] = tablica[j];
  20. tablica[j] = temp;
  21. }
  22. return 0;
  23. }
  24.  
  25. /** Funkcja wypisuje elementy tablicy, która zawiera struktury osoba*/
  26. int wypisz(osoba *tablica, int liczba){
  27. while(liczba--){
  28. cout << tablica->imie << " " << tablica->nazwisko;
  29. cout << " " << tablica->rok_urodzenia << endl;
  30. tablica++;
  31. }
  32. return 0;
  33. }
  34.  
  35. /** Funkcja wypisuje struktury, których adresy zawiera tablica*/
  36. int wypisz_wsk(osoba **tablica, int liczba){
  37. while(liczba--){
  38. cout << (*tablica)->imie << " " << (*tablica)->nazwisko << " " << (*tablica)->rok_urodzenia << endl;
  39. tablica++;
  40. }
  41. return 0;
  42. }
  43.  
  44. int main(){
  45. struct osoba dane[4] = {{"Antoni", "Adamski", 1985},{"Bartosz", "Barbarski",1972},{"Celina","Cezarska",1992}};
  46. dane[3].imie = "Dominik";
  47. dane[3].nazwisko = "Danucki";
  48. wypisz(dane, 4);
  49. struct osoba **dane_wsk = new struct osoba*[4];
  50. for(int i = 0; i < 4; i++) dane_wsk[i] = dane + i; //Przepisywanie adresów tablicy adresów
  51. sortuj(dane_wsk,4);
  52. wypisz_wsk(dane_wsk,4);
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement