Advertisement
GieeF

Untitled

Jan 4th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. //Bałaban Kamil - wtorek 9:!5
  2. #include <iostream>
  3. #include <fstream>
  4. #include <string>
  5. #include "wyjątki.h"
  6.  
  7. using namespace std;
  8.  
  9. class listaSasiedztwa {
  10. public:
  11.     int numerWierzcholka;
  12.     listaSasiedztwa* nastepny;
  13. };
  14.  
  15. int main() {
  16.     ifstream plik;
  17.     string nazwaPliku;
  18.     int zwracanyKod = 0, E = 0, V = 0;
  19.  
  20.     try {
  21.         cout << "Podaj nazwe pliku wejsciowego: ";
  22.         cin >> nazwaPliku;
  23.         otworzPlik(nazwaPliku, plik);
  24.     }
  25.     catch (KODY_WYJATKOW error) {
  26.         wyswietlWyjatki(error);
  27.         zwracanyKod = 1;
  28.     }
  29.  
  30.     plik >> E;
  31.     for (int i = 0; i < 2 * E; i++) {
  32.         int temp;
  33.         plik >> temp;
  34.         if (temp > V)
  35.             V = temp;
  36.     }
  37.  
  38.     plik.seekg(1, ios::beg);
  39.  
  40.     listaSasiedztwa *grafPierwszy = new listaSasiedztwa[V];
  41.     listaSasiedztwa* glowa;
  42.     int max, x, y;
  43.     for (int i = 0; i < E; i++)
  44.     {
  45.         cin >> x >> y; // odczytujemy krawędź
  46.         max = (x > max) ? max : x;
  47.         max = (y > max) ? max : y;
  48.         glowa = new listaSasiedztwa;
  49.         glowa->nastepny = grafPierwszy[x - 1]; grafPierwszy->numerWierzcholka = y; grafPierwszy[x - 1] = glowa;
  50.         glowa = new listaSasiedztwa;
  51.         glowa->nastepny = grafPierwszy[y - 1]; grafPierwszy->numerWierzcholka = x; grafPierwszy[y - 1] = glowa;
  52.     }
  53.     cout << endl;
  54.     for (int i = 0; i < max; i++)
  55.     {
  56.         cout << i + 1 << ":";
  57.         glowa = grafPierwszy[i];
  58.         while (glowa)
  59.         {
  60.             cout << glowa->numerWierzcholka << " ";
  61.             glowa = glowa->nastepny;
  62.         }
  63.         cout << endl;
  64.     }
  65.  
  66.     system("pause");
  67.     return zwracanyKod;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement