es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Número aleatorio del 0 al 100, números opuestos en el triángulo superior y el único triángulo en una matriz simétrica.

Hice una matriz NxN con ceros y unos, simétrica y con la diagonal igual a 0. Ahora quiero hacer otra matriz. En lugar del uno en la matriz, coloco un número aleatorio del 0 al 100 en los números opuestos del triángulo superior, y el triángulo uno tiene el mismo valor que en la imagen.
Y quiero hacer esto para todos los unos en la nueva matriz.
Gracias

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para crear una nueva matriz NxN con números aleatorios en la parte superior del triángulo y los mismos valores en la parte inferior del triángulo como se muestra en la imagen proporcionada, puedes usar el siguiente código en Python:

    import random
    
    # Matriz NxN con ceros
    n = 4
    matrix = [[0 for i in range(n)] for j in range(n)]
    
    # Asignar números aleatorios en la parte superior del triángulo
    for i in range(n):
        for j in range(i+1, n):
            matrix[i][j] = matrix[j][i] = random.randint(0, 100)
    
    # Asignar los mismos valores en la parte inferior del triángulo
    for i in range(n):
        for j in range(i):
            matrix[i][j] = matrix[j][i] = matrix[j][i]
    
    # Reemplazar todos los unos por los nuevos valores
    for i in range(n):
        for j in range(n):
            if matrix[i][j] == 1:
                matrix[i][j] = random.randint(0, 100)
    
    # Imprimir la nueva matriz
    print(matrix)
    

    Este código primero crea una matriz NxN con todos los elementos en cero. Luego asigna números aleatorios en la parte superior del triángulo al iterar sobre la mitad superior de la matriz y establecer los pares opuestos con el mismo valor. Luego asigna los valores de la parte inferior del triángulo con el mismo valor que sus correspondientes valores en la parte superior del triángulo.

    Finalmente, el código itera sobre cada elemento de la matriz y reemplaza cualquier uno con un nuevo valor aleatorio entre 0 y 100. La matriz resultante se imprime.

    Ten en cuenta que este código asume que la matriz original tenía unos en las posiciones donde deben colocarse los nuevos valores aleatorios, y que todos los demás valores son cero.

Comments are closed.