• Sábado 18 de Mayo de 2024, 11:06

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Gonzaleishon

Páginas: [1]
1
C/C++ / SOS PROBLEMAS con el codigo
« en: Martes 13 de Octubre de 2009, 14:54 »
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);
    }

Páginas: [1]