Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "graf.h"
- graf::graf()
- {
- }
- graf::~graf()
- {
- }
- void graf::addVertex(int ID, int x, int y)
- {
- vertex slug;
- slug.ID = ID;
- slug.x = x;
- slug.y = y;
- wierzcholek.push_back(slug);
- }
- void graf::addEdge(int ID, int from, int to)
- {
- edge slug;
- slug.ID = ID;
- slug.from = from;
- slug.to = to; // Dla jasności -- zmienna dlugosc będzie używana przy wyszukiwaniu najdłuższego wierzchołka
- slug.dlugosc = qSqrt(qPow(wierzcholek[from].x - wierzcholek[to].x, 2) + qPow(wierzcholek[from].y - wierzcholek[to].y, 2));
- krawedz.push_back(slug);
- }
- void graf::deleteEdge(graf graf)
- {
- int best = 0;
- for (int i = 0; i < graf.krawedz.size(); i++) {
- if (graf.krawedz[i].dlugosc > graf.krawedz[best].dlugosc) {
- best=i;
- }
- }
- graf.krawedz.erase(graf.krawedz.begin()+best);
- }
- void graf::loadVertex(graf &G)
- {
- QFile file("C:/Users/Adrian/Desktop/PROJEKTY/QT/graf/kropki.txt");
- int ID, x, y;
- if(file.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- QTextStream stream(&file);
- while(ID)
- {
- stream >> ID >> x >> y;
- if(ID==0) break;
- G.addVertex(ID, x, y);
- }
- file.close();
- }
- }
- void graf::loadEdge(graf &G)
- {
- QFile file("C:/Users/Adrian/Desktop/PROJEKTY/QT/graf/linie.txt");
- int ID, from, to;
- if(file.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- QTextStream stream(&file);
- while(ID)
- {
- stream >> ID >> from >> to;
- if(ID==0) break;
- G.addVertex(ID, from, to);
- }
- file.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement