Guest User

Untitled

a guest
Apr 24th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.67 KB | None | 0 0
  1. vector <int> wczytaj_z_pliku()
  2. {
  3.   string linia;
  4.   string bufor;
  5.  
  6.   int ilosc_wierzchlkow;
  7.   int rozmiar_lini;
  8.   int id = 0;
  9.   int ilosc_krawedzi;
  10.   int pierwszy_wierzcholek, drugi_wierzcholek;
  11.  
  12.   fstream plik;
  13.   plik.open("plik.txt",ios::in);
  14.  
  15.   while(!plik.eof())
  16.   {
  17.     getline(plik,linia);
  18.  
  19.     rozmiar_lini = linia.size();
  20.  
  21.         switch(id)
  22.         {
  23.             case 0:
  24. // wczytuje liczbe z napisu do spacji i po spacji i odpowiednio rozdzielam wiedzac jakie jest ulozenie liczb w pliku
  25. // np   string = '1245 567'; liczba a = 1245, liczba b = 567
  26.                     for(int i=0; i < rozmiar_lini; i++)
  27.                     {
  28.                         if(linia[i+1] == ' ')
  29.                         {
  30.                             for(int j=0; j < i+1; j++)
  31.                             {
  32.                                 bufor[j] = linia[j];
  33.                             }
  34.                                 ilosc_wierzchlkow = atoi(bufor.c_str());
  35.                                 vector <int> lista_sasiedztwa[ilosc_wierzchlkow];
  36.                         }
  37.                         bufor.clear();
  38.                         if(linia[i-1] == ' ')
  39.                         {
  40.                             for(int j=i; j < rozmiar_lini; j++)
  41.                             {
  42.                                 bufor[j] = linia[j];
  43.                             }
  44.                             ilosc_krawedzi = atoi(bufor.c_str());
  45.                         }
  46.                         bufor.clear();
  47.                         id++;
  48.                     }
  49.             break;
  50.  
  51.             default:
  52.                     for(int i=0; i < rozmiar_lini; i++)
  53.                     {
  54.                         if(linia[i+1] == ' ')
  55.                     {
  56.                         for(int j=0; j < i+1; j++)
  57.                         {
  58.                             bufor[j] = linia[j];
  59.                         }
  60.                         pierwszy_wierzcholek = atoi(bufor.c_str());
  61.                     }
  62.                     bufor.clear();
  63.                     if(linia[i-1] == ' ')
  64.                     {
  65.                         for(int j=i; j < rozmiar_lini; j++)
  66.                         {
  67.                             bufor[j] = linia[j];
  68.                         }
  69.                         drugi_wierzcholek = atoi(bufor.c_str());
  70.                     }
  71.                     bufor.clear();
  72.                     }
  73.                     lista_sasiedztwa[pierwszy_wierzcholek].push_back(drugi_wierzcholek);
  74.                     lista_sasiedztwa[drugi_wierzcholek].push_back(pierwszy_wierzcholek);
  75.             break; } // koniec switch
  76.   } //koniec while
  77. plik.close();
  78. return lista_sasiedztwa;
  79. } //koniec funkcji
Advertisement
Add Comment
Please, Sign In to add comment