Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Muchie {
- private:
- int startNod;
- int endNod;
- int cost;
- public:
- Muchie(int start_nod, int end_nod, int pondere): startNod{start_nod}, endNod{end_nod}, cost{pondere}{};
- int& getStart(){
- return startNod;
- }
- int& getEnd(){
- return endNod;
- }
- int& getCost(){
- return cost;
- }
- void setStart(int nod){
- startNod = nod;
- }
- void setEnd(int nod){
- endNod = nod;
- }
- void setCost(int cost){
- this->cost = cost;
- }
- };
- class ListaMuchii {
- int nr_noduri, nr_muchii;
- vector<Muchie> elems;
- public:
- void add(Muchie& m){
- elems.push_back(m);
- nr_muchii++;
- }
- void setNrNoduri(int nr){
- nr_noduri = nr;
- }
- int getNrNod(){
- return nr_noduri;
- }
- int getNrMuchii(){
- return nr_muchii;
- }
- Muchie getMuchie(int poz){
- return elems[poz];
- }
- };
- ListaMuchii citireListaMuchii(ifstream &f, int& nr_noduri, int& nr_muchii){
- // returneaza o ListaMuchii
- f >> nr_noduri >> nr_muchii;
- ListaMuchii list{};
- list.setNrNoduri(nr_noduri);
- int start, end, cost;
- for (int i = 0; i < nr_muchii; i++){
- f >> start >> end >> cost;
- Muchie m{start, end, cost};
- list.add(m);
- }
- return list;
- }
- vector<vector<int>> listaMuchii2matriceCosturi(ListaMuchii& list){
- //returneaza matricea de costuri calculata din lista de muchii data
- vector<vector<int>> matr (list.getNrNod(), vector<int> (list.getNrNod()));
- for (int i = 0; i < list.getNrMuchii(); i++){
- Muchie m = list.getMuchie(i);
- matr[m.getStart()][m.getEnd()] = m.getCost();
- }
- return matr;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement