Exercice VB: Traitement un peut plus complexe sur Les tableaux à une seule dimension
Rédigé par GC Team, Publié le 02 Janvier 2012, Mise à jour le Vendredi, 16 Décembre 2022 23:48Participez au vote ☆☆☆☆☆★★★★★
Objectif:
Travailler avec Les tableaux à une seule dimension
Travail à Faire :
7. Faire un programme qui calcule le produit scalaire de deux vecteurs d'entiers U et V (de même dimension).
Exemple :
/ \ / \
| 3 2 -4 | * | 2 -3 5| = 3 * 2 + 2 * (-3) + (-4) * 5 = -20
\ / \ /
8. Soit T un tableau d'entiers de taille n. Un plateau dans T est une suite d'éléments consécutifs et égaux de T. Le problème consiste à trouver le plus long plateau dans le tableau T.
Exemple :
Pour le tableau contenant les valeurs (2; 2; 6; 6; 6; 6; 3; 3; 6; 3; 3; 3; 2; 3; 3), le plus long plateau commence à l'indice 3 et il est de longueur 4.
Ecrire un Programme qui permet de résoudre le problème énoncé.
9. Trier les éléments d'un tableau par les méthodes suivantes :
- Tri à bulles.
- Tri par sélection.
- Tri par insertion.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
7. Module Module1 Dim n, P, i As Integer Sub Main() Console.Write("Entrez la taille du Tableau : ") n = Console.ReadLine Dim U(n), V(n) As Integer For i = 0 To n - 1 Console.Write("U(" & i + 1 & ") = ") U(i) = Console.ReadLine Next For i = 0 To n - 1 Console.Write("V(" & i + 1 & ") = ") V(i) = Console.ReadLine Next For i = 0 To n - 1 P += U(i) * V(i) Next Console.WriteLine("Le produit scalaire : " & P) Console.ReadLine() End Sub End Module 8. Module Module1 Sub Main() Dim i, n, pos, max, c As Integer Console.Write("Entrez la taille du Tableau : ") n = Console.ReadLine Dim t(n) As Integer For i = 0 To n - 1 Console.Write("t(" & i + 1 & ") = ") t(i) = Console.ReadLine Next max = 0 c = 1 For i = 1 To n - 1 If t(i) = t(i - 1) Then c = c + 1 Else c = 1 End If If c > max Then max = c pos = i - c + 2 End If Next Console.WriteLine("Le plus long plateau commence à l'indice : " & pos) Console.Write("Il est de longueur : " & max) Console.ReadLine() End Sub End Module 9. a. Module Module1 Sub Main() Dim i, n, j, temp As Integer Console.Write("Entrez la taille du Tableau : ") n = Console.ReadLine Dim t(n) As Integer For i = 0 To n - 1 Console.Write("t(" & i + 1 & ")=") t(i) = Console.ReadLine Next For i = n - 1 To 1 Step -1 For j = 1 To i If t(j - 1) > t(j) Then temp = t(j) t(j) = t(j - 1) t(j - 1) = temp End If Next Next For i = 0 To n - 1 Console.Write(t(i) & " ") Next Console.WriteLine(" ") Console.ReadLine() End Sub End Module b. Module module1 Sub main() Dim i, j, n, m, temp As Integer Console.Write("Entrez la taille du Tableau : ") n = Console.ReadLine Dim t(n) As Integer For i = 0 To n - 1 Console.Write("t(" & i + 1 & ")=") t(i) = Console.ReadLine Next For i = 0 To n - 2 m = i For j = i + 1 To n - 1 If t(j) < t(m) Then temp = t(m) t(m) = t(j) t(j) = temp m = i End If Next Next For i = 0 To n - 1 Console.Write(t(i) & " ") Next Console.ReadLine() End Sub End Module c. Module Module1 Dim i, j, n, elt As Integer Sub Main() Console.Write("Entrez la taille du Tableau : ") n = Console.ReadLine Dim t(n) As Integer For i = 0 To n - 1 Console.Write("t(" & i + 1 & ")=") t(i) = Console.ReadLine Next For i = 1 To n - 1 elt = t(i) j = i While t(j - 1) > elt And j > 0 t(j) = t(j - 1) j = j - 1 If j = 0 Then Exit While End If End While t(j) = elt Next For i = 0 To n - 1 Console.Write(t(i) & " ") Next Console.ReadLine() End Sub End Module |