Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
return s
Fonction somme_col(m:Mat,numc,n:entier):entir T.D.O.L
def somme_diag2(m,n): Debut Objet T/N
s=0 s< - 0 i,s entier
for i in range(n): pour i de 0 à n-1 faire
s < - s+m[i,numc]
s+=m[i,n-i-1] Fin pour
return s Retourner(s)
T[i,i]=1
T[2,1]=T[1,1]+T[1,0]
T[4,2]=T[3,2]+T[3,1]
T[i,0]=1
T[4,1]=T[3,1]+T[3,0]
Questions:
-exercice 1: Python
pouquoi on a déclaré une matrice de 10*10 au lieu de n*n ?
Pouquoi n est seulement >2 alors que la condtion est (2<n<=10)?
est-il possible de vérifier ma solution ? (page suivante)
-concernant le devoir : est-ce qu'on a encore un devoir ? si oui quelle est sa date ? théorique ou pratique ?
Merci pour votre temps
#exercice n2
(suite fonction appartenance) import numpy as np
def distinct(tab,n):
si 1>m[i,j] ou m[i,j]>N alors b=True
B<--- Faux for j in range(0,n):
for i in range(j+1,n):
sinon
if tab[i]==tab[j]:
j<---j+1 b=False
fin si return (b)
jusqu'à B= Faux ou j=>n
i<---i+1 def remplir():
while True :
jusqu'à B=Faux ou i=>n
x=int(input("donner le nombre de lignes et de colonnes"))
Retourner (B) if 2<x<=10:
Fin break
n=x*x
k=0
M=np.array([[(0)]*x]*x,dtype="int")
T=np.array([0]*x*x,dtype="int")
for i in range(x):
for j in range(x):
while True :
M[i,j]=int(input("donner M["+str(i)+","+str(j)+"]"))
T[j+i+k]=M[i,j]
if 0<M[i,j]<=n :
break
k=k+2
while not distinct(T,n):
for i in range(x):
for j in range(x):
M[i,j]=int(input("donner M["+str(i)+","+str(j)+"]"))
if distinct(T,n):
break
return(M,x)
def carre(M,x):
SL,SC,SD,SD1=0,0,0,0
B=True
for i in range(x):
SD=SD+M[i,i]
SD1=SD1+M[i,x-i-1]
if SD ==SD1:
for i in range(x):
for j in range (x):
SL=SL+M[i,j]
SC=SC+M[i,j]
if SL!=SD :
B=False
break
else:
SL=0
if SC!=SD:
B=False
break
else:
SC=0
else:
B=False
return(B)
Matrice,x=remplir()
if carre(Matrice,x)==True:
print("c'est un carré magique")
else:
print("ce n'est pas un carré magique")