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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  {Python 3.4} Problema con programa matrices
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: {Python 3.4} Problema con programa matrices  (Leído 3,669 veces)
dj28

Desconectado Desconectado

Mensajes: 2


Ver Perfil
{Python 3.4} Problema con programa matrices
« en: 5 Julio 2014, 03:02 am »

Pues me he encontrado con un error en dos ejercicios.
el primero es el siguiente aca dejo el programa con comentarios para explicarlo:
Código
  1. def program():
  2. os.system('cls')
  3. print("""Leer dos matrices 4x5 enteras y determinar si el mayor número primo de una de las matrices
  4. es también el mayor número primo de la otra matriz.""")
  5. matriz = []
  6. print("Matriz 1")#Entrada de la primera matriz empieza por aca
  7. for f in range(4):
  8. fila = []
  9. for c in range(5):
  10. try:
  11. num=int(input("digite el numero "+str(f+1)+","+str(c+1)+": "))
  12. except:
  13. num=0
  14. fila.append(num)
  15. matriz.append(fila)
  16. print("")
  17. matriz1 = []#Aca por logica comienza la entrada de la segunda matriz
  18. print("Matriz 2")
  19. for f1 in range(4):
  20. fila1 = []
  21. for c1 in range(5):
  22. try:
  23. num1=int(input("digite el numero "+str(f1+1)+","+str(c1+1)+": "))
  24. except:
  25. num1=0
  26. fila1.append(num1)
  27. matriz1.append(fila1)
  28. print("") #Salida de la matriz, me he leido que una matriz no deberia    mostrarse asi pero el profesor asi es que ha pedido que salga
  29. print("matriz 1")
  30. for fila in matriz:
  31. str_fila = ""
  32. for v in fila:
  33. str_fila += "\t"+str(v)
  34. print(str_fila)
  35. print("")
  36.  
  37. print("")
  38. print("matriz 2")#Salida de la segunda matriz
  39. for fila1 in matriz1:
  40. str_fila1 = ""
  41. for v1 in fila1:
  42. str_fila1 += "\t"+str(v1)
  43. print(str_fila1)
  44. print("")
  45. mayor=0#Aca empieza la parte que trabaja lo del mandato, acumulador para el numero mayor
  46. primo = False
  47. pr = 0
  48. for z in matriz:#Repasa las las filas de la matriz y las muestra como listas
  49. for y in z:#Repasa las listas que habia sacado anteriormente y muestra los elementos
  50. for x in range(2, y):#Pequeño codigo que recorre los numeros comprendidos entre 2 y el numero que toque ser para saber si es primo
  51. if y % x != 0:#condiciones para primo
  52. primo = True
  53. elif y % x == 0:
  54. primo = False
  55. if primo == True:#aca es donde intento dejar explicito que "pr" debe ser igual al numero mayor primo, pero en vez de eso lo que hace es que guarda en la variable el numero mayor dentro de la matriz sin importar si es primo o no
  56. pr = y
  57. print("El numero mayor de la matriz 1 es: "+str(pr))
  58. program()

El otro seria esto
Leer dos matrices 5x5 enteras y determinar si el promedio entero de todos los elementos que
no están en la diagonal de una matriz es igual al promedio entero de todos los elementos que
no están en la diagonal de la otra matriz.

tengo unos cuantos codigos fallidos para separar la diagonal pero todos fallidos, alguna ayuda con esto por favor?


En línea

dj28

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: {Python 3.4} Problema con programa matrices
« Respuesta #1 en: 5 Julio 2014, 03:25 am »

Para el primero no necesito nada le encontrado la solucion, pero sigo sin poder pillar como separar las diagonales, osea necesito ayuda con este

Leer dos matrices 5x5 enteras y determinar si el promedio entero de todos los elementos que
no están en la diagonal de una matriz es igual al promedio entero de todos los elementos que
no están en la diagonal de la otra matriz.


En línea

Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: {Python 3.4} Problema con programa matrices
« Respuesta #2 en: 7 Julio 2014, 00:21 am »

Supongo que es más una duda con el algoritmo que de programación.

Los elementos de la diagonal (suponiendo que se refiere a la diagonal principal) son los que ambos índices son iguales, es decir: m(1,1), m(2,2), m(3,3), m(4,4), m(5,5). Por lo tanto para calcular el promedio deberías sumar todos los elementos cuyos índices no sean iguales y dividirlos por el total.

En el caso en el que se refiera a ambas diagonales deberías descartar los elementos cuyos índices son: m(i,i) y m(i,6-i).

Por último sería comparar ambos promedios y definir un booleano que describa si son o no iguales.

Un saludo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(python)nuevo problema de matrices « 1 2 »
Scripting
marinas4 13 7,090 Último mensaje 1 Diciembre 2009, 22:35 pm
por marinas4
matrices en python...
Scripting
BloodyDark 5 17,910 Último mensaje 1 Mayo 2010, 07:45 am
por leogtz
Matrices (python)
Scripting
facu_m 2 11,101 Último mensaje 8 Noviembre 2010, 23:30 pm
por Yeison.Eng
[Python] - Matrices. « 1 2 »
Python
Meta 17 18,003 Último mensaje 16 Noviembre 2010, 20:04 pm
por Novlucker
Programa producto matrices python
Scripting
ra3 2 5,068 Último mensaje 30 Octubre 2017, 04:17 am
por BortizF
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines