Advertisement
Guest User

Untitled

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