Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <stdlib.h>
- using namespace std;
- void wczytaj_z_pliku();
- int main()
- {
- wczytaj_z_pliku();
- return 0;
- }
- void wczytaj_z_pliku()
- {
- string linia;
- string bufor;
- int ilosc_wierzchlkow;
- int rozmiar_lini;
- int id = 0;
- int ilosc_krawedzi;
- int pierwszy_wierzcholek, drugi_wierzcholek;
- fstream plik;
- plik.open("plik.txt",ios::in);
- while(!plik.eof())
- {
- getline(plik,linia);
- rozmiar_lini = linia.size();
- switch(id)
- {
- case 0:
- // wczytuje liczbe z napisu do spacji i po spacji i odpowiednio rozdzielam wiedzac jakie jest ulozenie liczb w pliku
- // np string = '1245 567'; liczba a = 1245, liczba b = 567
- {
- for(int i=0; i < rozmiar_lini; i++)
- {
- if(linia[i+1] == ' ')
- {
- for(int j=0; j < i+1; j++)
- {
- bufor[j] = linia[j];
- }
- ilosc_wierzchlkow = atoi(bufor.c_str());
- vector <int> lista_sasiedztwa[ilosc_wierzchlkow];
- }
- bufor.clear();
- if(linia[i-1] == ' ')
- {
- for(int j=i; j < rozmiar_lini; j++)
- {
- bufor[j] = linia[j];
- }
- ilosc_krawedzi = atoi(bufor.c_str());
- }
- bufor.clear();
- id++;
- }
- }
- break;
- default:
- {
- for(int i=0; i < rozmiar_lini; i++)
- {
- if(linia[i+1] == ' ')
- {
- for(int j=0; j < i+1; j++)
- {
- bufor[j] = linia[j];
- }
- pierwszy_wierzcholek = atoi(bufor.c_str());
- }
- bufor.clear();
- if(linia[i-1] == ' ')
- {
- for(int j=i; j < rozmiar_lini; j++)
- {
- bufor[j] = linia[j];
- }
- drugi_wierzcholek = atoi(bufor.c_str());
- }
- bufor.clear();
- }
- }
- break; // koniec switch
- lista_sasiedztwa[pierwszy_wierzcholek].push_back(drugi_wierzcholek);
- lista_sasiedztwa[drugi_wierzcholek].push_back(pierwszy_wierzcholek);
- } //koniec while
- plik.close();
- } //koniec funkcji
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement