Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2011, 06:36
paulrivers
 
Fecha de Ingreso: septiembre-2011
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 1
generar matriz nueva

Hola deseo crear una matriz que simule las conexiones de un graf,me explico. Tengo hecha la la pregunta de la dimensión que tiene la matriz que serian el numero de vértices que hay en el graf, y el contenido de la matriz nos muestra con un 1 si hay conexión entre el par de vértices y un 0 si no hay, eso lo tendría que entrar desde el teclado el usuario.

tengo este codigo:

Código:
void llenarman(int M[20][20], int d)
{    printf("Si el vertice esta conectado pulse 1 sino 0.\n");
     int c;
     for (int i=1;i<=d;i++)
     {
         for (int j=1;j<=d;j++)
         {
             if (i==j)
                M[i][j]=0;
             else if (i<j){
                  int conexio=0;
                  printf("Conexion entre los vertices ");
                  printf("%d",(i+1));
                  printf(",");
                  printf("%d",(j+1));
                  printf("\n");
                  try {
                      conexio=scanf("%c",&c);
                  }catch(int c) {
                        printf("entrar 0 o 1.");
                        j--;
                  }
                  if(conexio==0 || conexio==1) {
                       if(conexio==1)
                       M[i][j] = 1;
                       M[j][i] = 1; 
                       } else {
                        printf("entrar 0 o 1.");
                        j--;
                    }
                  }
         }
     }
}
Código:
int main ()
{
    int d;
    int M[20][20];
    printf("Insertar numero de vertices: "); scanf("%d",&d);
    llenarman(M, d);
    getch();
}
como podeis ver tengo problemas de mostrar las opciones a escoger el usuario, a crear una matriz partiendo de una matriz vacia, no se como hacerlo sin pasarle los parametros 20 y por ultimo lo de las exepciones en el cach no se como decirle que la exepcion sea que fuera un valor diferente de 0 o 1.

Muchas gracias