Hola quisiera ver si alguien me puede ayudar con mi codigo, se lo agradeceria un monton
El prograba me da una matriz cuadrada, y debo ordenar cada fila de menor a mayor e imprimirlas para abajo, realmente algo que parece muy simple pero no lo puedo hacer, porfavor que alguien me ayude!
Acà les dejo el codigo(no se donde meter el metodo de la burbuja).
Gracias de antemano!
#include <iostream>
using namespace std;
void vertice(int argc, char** argv)
{
int temp,espera,suma,numnodo,dirigido,s,aux; //declaracion de variables
cout << " H E U R I S T I C A T S P : V E C I N O M A S C E R C A N O" << endl;
cout << " ======================================================" << endl << endl << endl;
cout << " Ingrese el numero de nodos del grafo"<<endl<<" ";
cin >> numnodo; // numero de nodos
string nodo[numnodo];// vector de nombres
for( int i=0;i<numnodo;++i)
{
cout << endl <<" Ingrese nombre al nodo" << " "<<i+1 <<" ";
cin >> nodo
;
}
int **v=new int*[numnodo]; // reserva memoria para la matriz de adyacencia
for (int i=0;i<numnodo;++i){
v= new int[numnodo];}
cout << endl<< " Ingrese el peso del arco " << endl;
for (int i=0;i<numnodo;++i)
{ //llenamos la matriz de adyacencia
for (int j=0;j<numnodo;++j)
{
if(i==j)
{
v[j]=0;
}
else
{
cout << " " << nodo << " " << "y" << " " << nodo[j] <<" :" << " ";
cin >> v[j];
}
}
}
//-----------------------------------------------------------------------------------------------------------------------
cout << endl << endl << " Matriz de adyacencia:" << endl << " ";
for (int i=0; i<numnodo; i++)
{ // muestra la matriz de adyacencia
for (int j=0; j<numnodo; j++)
{
cout << v[j] << " ";
}
cout << endl << " ";
}
cout << endl <<endl;
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------
int *visitado= new int[numnodo];
for (int i=0; i<numnodo; i++)
visitado=0;
int Nvisitados = 0;
int u = 0;
int total = 0;
while ( u != -1 )
{
visitado = 1;
++Nvisitados;
int dist = INT_MAX;
int t = -1;
for (int i=0; i<numnodo; ++i)
{
if ( ( v < dist ) && ( visitado == 0 ) )
{
t = i;
dist = v;
}
}
if ( t!= -1)
{
cout << " " << nodo << " -> " << nodo[t] << " d: " << dist << endl;
total=dist+total;
}
u = t;
}
cout << endl << " Distancia total: " << total << endl;
system("pause");
//--------------------------------------------------------------------------------------------------------------------------------------
}
int main()
{
int argc;
char** argv;
vertice(argc,argv);
}