Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. #include <iostream> //basic stream
  2. #include <random>   //random gen
  3. #include <fstream>  //files
  4. #include <cstdlib>   //wowowowo
  5. #include <list>      //chi
  6. #include <sstream>   //llwagon
  7. using namespace std;//namespace
  8. /* classes
  9.  */
  10. /* functions headers
  11.  */
  12. void GetDijkstra(int &n,int &u);
  13. void GetDijkstra(int **tab);
  14. void SaveDijkstra(int n,int *dist,int *pred);
  15. /* main
  16.  */
  17. int main(int argc, char const *argv[]) {
  18.         system("clear");
  19.         //Pozyskanie danych wejsciowych
  20.         int n,u;
  21.         GetDijkstra(n,u);
  22.         /**/
  23.         // Inicjalizacj tablic
  24.         int **tab;
  25.         int *dist;
  26.         int *pred;
  27.         tab = new int * [n];
  28.         for(int i=0; i<n; i++) {tab[i] = new int [n];}
  29.         dist = new int[n];
  30.         pred = new int[n];
  31.         /**/
  32.         //Wypelnienie tablicy danymi z pliku tekstowego
  33.         GetDijkstra(tab);
  34.         /**/
  35.         //
  36.        
  37.         /**/
  38.         //Zapis tablic pred i dist do pliku tekstowego
  39.         SaveDijkstra(n,dist,pred);
  40.         /**/
  41.         // Zwalnianie pamieci po tablicach
  42.         for(int i=0; i<n; i++) {delete [] tab[i];}
  43.         delete [] tab;
  44.         delete [] dist;
  45.         delete [] pred;
  46.         /**/
  47.         return 0;
  48. }
  49. /* functions bodies
  50.  */
  51. void GetDijkstra(int &n,int &u){
  52.         ifstream plik("In0305.dll");
  53.         if(plik.fail())
  54.                 cout << "error" << endl;
  55.         plik>>n; //ilosc wierzcholkow
  56.         plik>>u; //adres ujscia
  57.         plik.close();
  58. }
  59. void GetDijkstra(int **tab){
  60.         ifstream plik("In0305.dll");
  61.         int n,u;
  62.         if(plik.fail())
  63.                 cout << "error" << endl;
  64.         plik>>n; //ilosc wierzcholkow
  65.         plik>>u; //adres ujscia
  66.         for(int j=0; j<n; j++) {
  67.                 for(int i=0; i<n; i++) {
  68.                         plik >> tab[i][j];
  69.                 }
  70.         }
  71.         plik.close();
  72. }
  73. void SaveDijkstra(int n,int *dist,int *pred){
  74.         fstream plik;
  75.         plik.open("Out0305.dll",ios::out);
  76.         plik<<"dist[";
  77.         for(int i=0; i<n; i++) {plik<<dist[i]<<" ";}
  78.         plik<<"]"<<endl;
  79.         plik<<"pred[";
  80.         for(int i=0; i<n; i++) {plik<<pred[i]<<" ";}
  81.         plik<<"]";
  82.         plik.close();
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement