fork download
  1. import math
  2. import random
  3.  
  4. # Set n and m to 5
  5. n = m = 5
  6. masB = []
  7. maindiag = []
  8. i = j = int()
  9. diff = int()
  10. f = int()
  11. t = int()
  12. min_val = int()
  13.  
  14. # Create the matrix with random values between -50 and 50
  15. for i in range(0, n, 1):
  16. masB.append([])
  17. for j in range(0, m, 1):
  18. masB[i].append(random.randint(-50, 50))
  19.  
  20. print(f"\nMatrix {n}*{m} masB=:")
  21. for i in range(0, n, 1):
  22. for j in range(0, m, 1):
  23. print(f"{masB[i][j]:3}", end="|")
  24. print()
  25.  
  26. # Calculate absolute differences along the main diagonal
  27. for i in range(0, n-1, 1):
  28. diff = math.fabs(masB[i][i] - masB[i+1][i+1]) # Calculate absolute difference on main diagonal
  29. maindiag.append(diff)
  30.  
  31. print(f"\nAbsolute differences between adjacent elements on the main diagonal: {maindiag}")
  32.  
  33. # Sort the list of absolute differences
  34. maindiag.sort()
  35.  
  36. print("Result maindiag:")
  37. for i in range(0, len(maindiag), 1):
  38. print(f"{maindiag[i]:3}", end="")
  39.  
  40. # Find the minimum difference
  41. if len(maindiag) > 0:
  42. min_val = maindiag[0] # The smallest value in a sorted list is the first element
  43. print(f"\nmin={min_val:4}")
  44. else:
  45. print("\nNo diagonal differences to compute.")
Success #stdin #stdout 0.1s 14212KB
stdin
Standard input is empty
stdout
Matrix 5*5 masB=:
 -4| -5| -3|-43|-24|
 -4|-26|  7| 40| -9|
  7| -9|-34|-10|-13|
 44|-25| 24| 17|-16|
-18|-47|-37| 28| 37|

Absolute differences between adjacent elements on the main diagonal: [22.0, 8.0, 51.0, 20.0]
Result maindiag:
8.020.022.051.0
min= 8.0