Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Bałaban Kamil - wtorek 9:!5
- #include <iostream>
- #include <fstream>
- #include <string>
- #include "wyjątki.h"
- using namespace std;
- class listaSasiedztwa {
- public:
- int numerWierzcholka;
- listaSasiedztwa* nastepny;
- };
- int main() {
- ifstream plik;
- string nazwaPliku;
- int zwracanyKod = 0, E = 0, V = 0;
- try {
- cout << "Podaj nazwe pliku wejsciowego: ";
- cin >> nazwaPliku;
- otworzPlik(nazwaPliku, plik);
- }
- catch (KODY_WYJATKOW error) {
- wyswietlWyjatki(error);
- zwracanyKod = 1;
- }
- plik >> E;
- for (int i = 0; i < 2 * E; i++) {
- int temp;
- plik >> temp;
- if (temp > V)
- V = temp;
- }
- plik.seekg(1, ios::beg);
- listaSasiedztwa *grafPierwszy = new listaSasiedztwa[V];
- listaSasiedztwa* glowa;
- int max, x, y;
- for (int i = 0; i < E; i++)
- {
- cin >> x >> y; // odczytujemy krawędź
- max = (x > max) ? max : x;
- max = (y > max) ? max : y;
- glowa = new listaSasiedztwa;
- glowa->nastepny = grafPierwszy[x - 1]; grafPierwszy->numerWierzcholka = y; grafPierwszy[x - 1] = glowa;
- glowa = new listaSasiedztwa;
- glowa->nastepny = grafPierwszy[y - 1]; grafPierwszy->numerWierzcholka = x; grafPierwszy[y - 1] = glowa;
- }
- cout << endl;
- for (int i = 0; i < max; i++)
- {
- cout << i + 1 << ":";
- glowa = grafPierwszy[i];
- while (glowa)
- {
- cout << glowa->numerWierzcholka << " ";
- glowa = glowa->nastepny;
- }
- cout << endl;
- }
- system("pause");
- return zwracanyKod;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement