using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Programmation_objet_TLESIO21.TD2 { public class TabClasse { private int nbMaxElts; private int[] tab; private int nbElts; public TabClasse() : this(0) { } public TabClasse(int nbMaxElts) { this.nbMaxElts = nbMaxElts; this.tab = new int[nbMaxElts]; this.nbElts = 0; } public void RemplirTableau() { this.nbElts = 0; for (int i = 0; i < this.nbMaxElts; ++i) { Console.WriteLine("Entrez un entier (" + (this.nbMaxElts - i) + " restants) : "); String input = Console.ReadLine(); Console.Write(""); if (String.IsNullOrEmpty(input)) { i--; Console.WriteLine("Merci de renter une valeur."); } else { try { tab[i] = int.Parse(input); this.nbElts++; } catch (Exception FormatException) { i--; Console.WriteLine("Merci de renter un entier."); } } } } public void AfficherTableau() { String s = "["; for (int i = 0; i < this.tab.Length; ++i) { s += this.tab[i] + ", "; } Console.WriteLine(s.Substring(0, s.Length - 2) + "]"); } public void TrierTableau() { //tri à bulles for (int i = (this.tab.Length - 1); i >= 1; --i) { for (int j = 2; j <= i; ++j) { if (this.tab[j - 1] > this.tab[j]) { int temp = this.tab[j - 1]; this.tab[j - 1] = this.tab[j]; this.tab[j] = temp; } } } } /*public void SetValue(int index, int value) { if (index < this.nbElts) { this.tab[index] = value; } else { Console.Error.WriteLine("Votre index dépasse la capacité de ce tableau"); } }*/ public int this[int index] { get { if (index < this.nbElts) { return this.tab[index]; } else { Console.Error.Write("Votre index dépasse la capacité de ce tableau"); return -1; } } set { if (index < this.nbElts) { this.tab[index] = value; } else { Console.Error.Write("Votre index dépasse la capacité de ce tableau"); } } } } }