elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda para usar Algoritmo de Warshall
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda para usar Algoritmo de Warshall  (Leído 2,644 veces)
Deivbid

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Ayuda para usar Algoritmo de Warshall
« en: 23 Noviembre 2015, 02:27 am »

Muy Buenas a Todos Disculpen Necesito ayuda con este codigo en lenguae C , mi intencion es crear una matriz a la cual, En los espacios que yo quiera , le pueda introducir un numero , esto es una forma de hacer una matriz de adyacencia con los pesos de los nodos/arcos de un grafo con intencion de hacer pasar esa matriz por un algoritmo de washall , EL PROBLEMA: intento llenar la matriz en los puntos donde quiero como ven en el codigo pero lo hace en lugares erroneos .... Que debo Hacer? gracias de antemano , Arriba la programacion :D

Código:

#include <stdio.h>


void Imprimir(int Nvertices,int Matriz[Nvertices][Nvertices]){
   
   int i,j;
   
   for(i=0;i<=Nvertices;i++){
      for(j=0;j<=Nvertices;j++){
         printf("%d\t",Matriz[j]);
         
                         }
                         printf("\n");
                     }
                     printf("\n\n");
      }
      
void PrepaMatriz(int Nvertices,int Madyacencia[Nvertices][Nvertices]){
   
   int i,j;
   for(i=0;i<Nvertices+1;i++){
      for(j=0;j<Nvertices+1;j++){
         Madyacencia[j] = 0;
      }
   }
}
   


int main(){
   
   int i,Nvertices,Fila,Columna,Narcos,peso;
   
   printf("\nBienvenido Deivbid");
   printf("\nCuantos Vertices tiene tu Matriz?: ");
   scanf("%d",&Nvertices);
   
   int Madyacencia[Nvertices+1][Nvertices+1];
   
   
   
   PrepaMatriz(Nvertices,Madyacencia);
   
   Imprimir(Nvertices,Madyacencia);
   
   
   
   
   printf("\nCuantos Arcos Tiene?: ");
   scanf("%d",&Narcos);
                     
      for(i=1;i<=Narcos;i++){
   printf("\nDonde se comunican?(poner F,C): " );
   scanf("%d %d",&Fila,&Columna);
   
   if(Fila>Nvertices || Columna>Nvertices){
      printf("\nError , por ahi no se puede :D");
      scanf("%d %d",&Fila,&Columna);}
   
     printf("\nCual es su peso?: ");
     scanf("%d",&peso);
    
     Madyacencia[Fila][Columna]=peso;
    
    
                     }
            
   Imprimir(Nvertices,Madyacencia);
      
   return(0);
}


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ayuda para usar Algoritmo de Warshall
« Respuesta #1 en: 23 Noviembre 2015, 02:44 am »

Utiliza la etiqueta Geshi para subir tu código, de lo contrario se pierden algunas cosas del código.

Para crear una matriz 4x4 ( una de 4 Vertices) puede usar lo siguiente;

Código
  1. int Madyacencia[4][4];
Código
  1. int NVectores = 4;
  2. int Madyacencia[NVectores][NVectores];

observa que no es necesario agregar el +1.

más simple es todavía inicializar sus valores( o recorrerlos):

Código
  1. int i,j;
  2. for(i = 0; i < NVertices;i++)
  3.    for(j = 0; j < NVertices;j++)
  4.        Madyacencia[i][j] = 0;

también puedes hacerlo con menset; http://c.conclase.net/librerias/?ansifun=memset

lo quieres imprimir?;
Código
  1. int i,j;
  2. for(i = 0; i < NVertices;i++)
  3.    for(j = 0; j < NVertices;j++)
  4.        printf(Madyacencia[i][j]);

también te sirve:

Código
  1. printf(Madyacencia[Fila][Columna]);
Código
  1. Madyacencia[Fila][Columna] = peso;




« Última modificación: 23 Noviembre 2015, 03:15 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Deivbid

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda para usar Algoritmo de Warshall
« Respuesta #2 en: 23 Noviembre 2015, 03:17 am »

Vale lo Intentare, Lo que sucede es que la matriz es de tantos vertices haya en un grafo , y me lo dan en un archivo , es decir , nose de cuento sera la matriz por eso debe ser con valores introducidos manualmente , sino los pusira como tu dices , Gracias amigo ya vuelvo a publicar el tema
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Qué algoritmo puede usar una clave de estas características?
Criptografía
NeoB 7 5,054 Último mensaje 18 Noviembre 2012, 21:14 pm
por NeoB
Ayuda con Algoritmo de warshall
Java
gallagher_daniel 1 2,041 Último mensaje 11 Junio 2015, 15:41 pm
por Usuario Invitado
Ayuda Antes de Usar el Algoritmo de Warshall
Programación C/C++
Deivbid 3 2,580 Último mensaje 23 Noviembre 2015, 04:06 am
por 0xFer
Algoritmo de Floyd Warshall
Programación C/C++
Luisyoxd 1 3,154 Último mensaje 6 Marzo 2020, 12:42 pm
por 98Fran
Ayuda con implementacion algoritmo warshall en C « 1 2 »
Programación C/C++
luar79 10 12,788 Último mensaje 19 Mayo 2022, 00:57 am
por luar79
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines