Оно по
гуглится, но не особо поможет )
Тут просто странное что-то:
индексы массива всегда целочисленные, иначе какой смысл?
Это ж не значения хранимые по индексам.
Оно по
гуглится, но не особо поможет )
Тут просто странное что-то:
индексы массива всегда целочисленные, иначе какой смысл?
Это ж не значения хранимые по индексам.
Все идет дистанционно, рассказывают, что такое 8 бит и 8 байт и их отличие, хаах
Можно русский язык
Алекс, тут чел похоже поглумться решил. Или действительно просит помощи.
Посмотрим…
это как ???
Что хотим-то?
Тут речь видимо была о том, что лучше использовать англ. версию студии, чтобы было проще понимать и гуглить текст ошибок )
Начнем с ноля.
Елена-Полено, какой ваш родной язык?
Понимаем:
Русский,
Украинский,
Английский(международный);
Литовский.
Ваш язык какой?
Прочел тему от низа до верху, повеселило…
Нужно то что-было?
Это я, Полено, пришлось создать новый аккаунт.
Можно русский язык
Ребята, правда нужна помощь, серьезно не шарю в этом
x1
это ж видимо номер точки, ему не надо быть не целым.
Не целыми наверно только расстояния могут быть.
Вот ваши плавающие
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
vector<int> parent(5, -1); // объявили и сразу заполнили -1-цами в кол-ве 5 штук
double big_num(10000);
double matrix[5][5] =
{ {0.02,5.01,12.05,0.01,0.4},
{5.01,0.05,4.01,0.01,1.01},
{12.01,4.1,0.2,2.2,0.6},
{0.2,0.01,2.21,0.45,5.21},
{0.2,1.01,0.21,5.45,0.2} };
double pos[5];
int node[5], min(0), index_min(0);
for (int i = 0; i < 5; ++i) {
pos[i] = big_num;
node[i] = 0;
}
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 5; ++j) {
cout << setw(4) << matrix[i][j];
}
cout << "\n";
}
int x;
cout << "vvedite x1";
cin >> x;
pos[x - 1] = 0; // начальная точка
cout << "\n";
for (int i = 0; i < 4; ++i) {
min = big_num;
for (int j = 0; j < 5; ++j) {
if (!node[j] && pos[j] < min) {
min = pos[j];
index_min = j;
}
}
node[index_min] = true;
for (int j = 0; j < 5; ++j) {
if (!node[j] && matrix[index_min][j] > 0 && pos[index_min] != big_num && pos[index_min] + matrix[index_min][j] < pos[j]) {
pos[j] = pos[index_min] + matrix[index_min][j];
parent.at(j) = index_min; // запоминаем предка вершины j
}
}
}
int n(0);
cout << "\nnumber of top? : ";
cin >> n;
vector<int>temp; // n - 1, так как не забываем про индексацию
for (int i = n - 1; i != -1; i = parent.at(i))temp.push_back(i + 1); // а все что здесь делается описано в справке,которую я те кинул
reverse(temp.begin(), temp.end());
for (int i = 0; i < temp.size(); ++i)cout << temp.at(i) << " ";
cout << "\nWeight : " << pos[n - 1] << "\n";
cout << endl;
return 0;
cout << "готово";
}