Exercice VB: Carré Magique

Objectif :

Travailler avec les Tableaux à deux dimensions.

Travail à Faire :

1. Ecrire le programme qui détermine le plus grand élément et le petit élément ainsi, la position de plus grand élément et le petit élément d'une matrice.

2. Un carré magique d'ordre n est une matrice carrée n x n telle que la somme des entiers de chaque ligne, chaque colonne et des deux diagonales sont identiques.

Exemple de carré magique d'ordre 3 :

2

9

4

7

5

3

6

1

8

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586871.Module Module1Dim i, j, n, m, Max, Min, Pmax_x, Pmax_y, Pmin_x, Pmin_y As IntegerSub Main()Console.Write("Entrez le nombre de lignes : ")n = Console.ReadLineConsole.Write("Entrez le nombre de colonnes : ")m = Console.ReadLineDim T(n, m) As IntegerFor i = 0 To n - 1For j = 0 To m - 1Console.Write("t(" & i + 1 & " , " & j + 1 & ") = ")T(i, j) = Console.ReadLineNextNextMax = T(0, 0)Min = T(0, 0)Pmax_x = 1Pmax_y = 1Pmin_x = 1Pmin_y = 1For i = 0 To n - 1For j = 0 To m - 1If T(i, j) > Max ThenMax = T(i, j)Pmax_x = i + 1Pmax_y = j + 1End IfIf T(i, j) ThenMin = T(i, j)Pmin_x = i + 1Pmin_y = j + 1End IfNextNextConsole.WriteLine("Le plus grand élément est : " & Max)Console.WriteLine("Sa postion est : " & "T(" & Pmax_x & ";" &Pmax_y & ")")Console.WriteLine("Le petit élément est : " & Min)Console.WriteLine("Sa postion est : " & "T(" & Pmin_x & ";" &Pmin_y & ")")Console.ReadLine()End SubEnd Module2.Module Module1Dim n, i, j, s, c, c1, s1, Cmpt As IntegerSub Main()Cmpt = 0Console.Write("Entrez le nombre de lignes : ")n = Console.ReadLineDim T(n, n) As IntegerFor i = 0 To n - 1For j = 0 To n - 1Console.Write("T(" & i + 1 & " , " & j + 1 & ") = ")T(i, j) = Console.ReadLineNextNextc1 = 0s1 = 0For j = 0 To n - 1s1 = s1 + T(j, j)c1 = c1 + T(j, n - 1 - j)NextIf s1 = c1 ThenCmpt = Cmpt + 2End IfFor i = 0 To n - 1c = 0s = 0For j = 0 To n - 1s = s + T(i, j)c = c + T(j, i)NextIf (s = c) And (s = s1) ThenCmpt = Cmpt + 2End IfNextIf Cmpt = (2 * n) + 2 ThenConsole.WriteLine("carré magique")ElseConsole.WriteLine("carré pas magique")End IfConsole.ReadLine()End SubEnd Module
Article publié le 02 Janvier 2012 Mise à jour le Vendredi, 16 Décembre 2022 21:27 par GC Team