• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Który fragment najważniejszy?

Object Storage Arubacloud
0 głosów
157 wizyt
pytanie zadane 17 maja 2017 w C i C++ przez Ala123456 Użytkownik (760 p.)
zamknięte 17 maja 2017 przez Ala123456
//C++ program for Bellman-Ford's source shortest path algorithm.

#include <cstdlib>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <ctime>
#include <stdio.h>
#include <limits.h>

using namespace std;
#define MAXV 999999
void BF(int, int, int**);
void wys(int ,int**);
void wys_BF(int*, int*, int, int);
void wys_BF(int *cost, int *number, int l_ver, int ver_s)   // function of display BF algorithm
{
    int *S = new int [l_ver];              
	int sp = 0;
    cout << "start: " << ver_s << endl;
    cout <<"end: " << " distance: " <<  "path: " << endl;
    for(int i=0; i<l_ver; i++)
    {   cout.width(3);
        cout << i<< "   ";
        cout.width(3);
    cout << cost[i] <<"          "; 
    for(int x = i; x!=-1; x = number[x]) 
      {
        S[sp++] = x;           
      while(sp)                 
        cout<< S[--sp] << " "; 
 
      }
      cout << endl;
    }
}
void BF(int ver_s, int l_ver,int ** graf)
{
    int *cost= new int[l_ver];    
    int *number= new int[l_ver];   
    for(int i=0; i<l_ver; i++)  
    {                                   
        number[i] = -1;     
        cost[i] = MAXV;     
    }
    cost[ver_s]=0;   
for(int i=1; i<=l_ver; i++)
{
    for(int w=0; w<l_ver; w++)
    {
        for(int k=0; k<l_ver; k++)
        {
            if((graf[w][k] !=0) && (cost[k]) >= (cost[w]+ graf[w][k]))
                {
                    cost[k]=cost[w]+graf[w][k];
                    number[k] =w;
                }
        }
    }
}   
wys_BF(cost, number, l_ver, ver_s);
}
void wys(int l_ver, int **graf)
{
for(int j=0; j<l_ver; j++)
    {
        cout << endl;
        for(int k=0; k<l_ver; k++)
        cout << setw(3) << graf[j][k];
     }
 
}
// main program

int main()
{
	int l_ver = 6;
    int ver_s =0;
    int **graf;
    graf = new int * [l_ver];
    for(int i=0; i<l_ver; i++)
        graf[i] = new int[l_ver];
         int grafnew[6][6]={{0, 1, 0, 0, 0, 0}, //przykładowy graf, działa poprawnie
                    {0, 0, 0, 5, 9, 0},
                    {3,-4, 0, 0, 0, 0},
                    {0, 0, 0, 0, 3, 2},
                    {0 ,0 ,-1,0, 0,-5},
                    {9, 0, 8, 0, 0, 0},
                                  };
 /*  int grafnew[6][6]={{0, 1, 0, 0, 0, 0},       // graf przykładowy tylko z dodatnimi wagami
                    {0, 0, 0, 5, 9, 0},              // działa poprawnie
                    {3, 4, 0, 0, 0, 0},
                    {0, 0, 0, 0, 3, 2},
                    {0 ,0 , 1,0, 0, 5},
                    {9, 0, 8, 0, 0, 0},
                                  }
								         */                                 
    for(int a=0; a<l_ver; a++)
    {
        for(int b=0; b<l_ver; b++)
        {
          graf[a][b] = grafnew[a][b];
        }
    }
    BF(ver_s, l_ver,graf);
    cout<<"przykladowy graf uzyty w algorytmie:";
    wys(l_ver, graf);
    cout << endl;
    return 0;
}

Jakby któs pomógł wybrac ok 15 linii najwazniejszych w tym kodzie Bellmana-Forda. I w kilku zdaniach uzasadnic dlaczego :D Z góry dziękuję 

komentarz zamknięcia: Znalezienie rozwiazania

1 odpowiedź

0 głosów
odpowiedź 17 maja 2017 przez Wiciorny Ekspert (269,710 p.)
W kilku zdaniach uzasadnij dlaczego mam coś wybierać: skoro na cały algorytm składa się kilka metod, generalnie nic nie działa jakby bez poprzednich? Więc jeśli np. coś jest niefunkcjonalne, bez którejś metody, to nie mogę jej pominąc i wybrać "WŁAŚNIE TO '.

Szukałbym miedzy 37-60 dlaczego? Bo powiedzmy- jest niezależna metoda, i generalnie przy zalożeniu że poprawne beda tablice na których operujemy- rozwiążę zadanie.

Podobne pytania

0 głosów
1 odpowiedź 232 wizyt
pytanie zadane 30 września 2018 w Python przez Deriquest Użytkownik (550 p.)
0 głosów
1 odpowiedź 326 wizyt
pytanie zadane 14 listopada 2016 w Java przez LightInWindow Użytkownik (720 p.)
0 głosów
1 odpowiedź 128 wizyt
pytanie zadane 27 lutego 2019 w Inne języki przez Marak123 Stary wyjadacz (11,190 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...