Advertisement
Guest User

ListaKurKUPA

a guest
Nov 22nd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. struct punkt{
  8. string nazwa;
  9. int x;
  10. int y;
  11. //float odleglosc;
  12. punkt* nastepna;
  13. punkt();
  14. };
  15.  
  16. punkt::punkt() {
  17. nastepna = 0;
  18. }
  19.  
  20. struct lista{
  21. punkt* pierwsza;
  22. void dodaj_punkt(string nazwa, int x, int y);
  23. lista();
  24. };
  25.  
  26. lista::lista() {
  27. pierwsza = 0;
  28. }
  29.  
  30. void lista::dodaj_punkt(string nazwa, int x, int y) {
  31. punkt* nowa = new punkt;
  32.  
  33. nowa->nazwa = nazwa;
  34. nowa->x = x;
  35. nowa->y = y;
  36.  
  37. if (pierwsza = 0) {
  38. pierwsza = nowa;
  39. }
  40.  
  41. else {
  42. punkt* temp = pierwsza;
  43.  
  44. while (temp->nastepna) {
  45. temp = temp->nastepna;
  46. }
  47.  
  48. temp->nastepna = nowa;
  49. temp->nastepna = 0;
  50. }
  51. }
  52.  
  53. int main(){
  54.  
  55. lista* baza = new lista; //tworzymy liste
  56.  
  57. int n;
  58. string nazwaPkt;
  59. int xPkt;
  60. int yPkt;
  61.  
  62. cin >> n;
  63.  
  64. for (int i = 0; i < n; i++) {
  65. cout << "Podaj nazwe punktu: ";
  66. cin >> nazwaPkt;
  67. cout << "Podaj szerokosc punktu: ";
  68. cin >> xPkt;
  69. cout << "Podaj wysokosc punktu: ";
  70. cin >> yPkt;
  71. }
  72.  
  73. //dodajemy rekordy do bazy
  74. baza->dodaj_punkt(nazwaPkt, xPkt, yPkt);
  75.  
  76. // wyswietlamy 1 pkt
  77. cout << baza->pierwsza->nazwa << endl;
  78. cout << baza->pierwsza->x << endl;
  79. cout << baza->pierwsza->y << endl << endl;
  80.  
  81. // wyswietlamy 2 pkt
  82. cout << baza->pierwsza->nastepna->nazwa << endl;
  83. cout << baza->pierwsza->nastepna->x << endl;
  84. cout << baza->pierwsza->nastepna->y << endl << endl;
  85.  
  86. // wyswietlamy 3 pkt
  87. cout << baza->pierwsza->nastepna->nastepna->nazwa << endl;
  88. cout << baza->pierwsza->nastepna->nastepna->x << endl;
  89. cout << baza->pierwsza->nastepna->nastepna->y << endl << endl;
  90.  
  91. delete (baza);
  92. return 0;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement