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
| class Program
{
public static bool estPremier(int x) {
int div;
for (div=2; div<=Math.Sqrt(x);div++)
if (x%div==0) return false;
return true;
}
public static int demander(int inferieur, int superieur, string nom)
{
int x;
for(;;) {
try {
Console.Write("Entrez "+nom+" ["+inferieur+":"+superieur+"]:");
x=int.Parse(Console.ReadLine() );
if(x<inferieur|x>superieur) Console.WriteLine(" les bornes doivent etre comprise entre "+inferieur+" et "+superieur+", veuillez recommencez sil vous plait!!!");
else return x;}
catch (System.FormatException) {
Console.WriteLine("erreur de saisie! Recommencez");
}
catch (System.OverflowException) {
Console.WriteLine("Entier trop grand! Recommencez");
}
}
}
public static void exo1() {
int n,x,i,posmin,posmax,som;
int [] t;
Random rnd;
n=demander(1,50,"n la taille du tableau");
x=demander(1,99,"x la valeur recherchée");
t=new int[n];
rnd=new Random ();
for(i=0;i<n;i++){
t[i]=rnd.Next(1,99);
}
afficherGD(t,"Voici le tableau complet de gauche a droite:");
Console.WriteLine();Console.WriteLine();
Console.WriteLine("Voici le tableau complet de droite a gauche:");
for (i=n-1;i>0;i--)
Console.Write("["+i+"]"+t[i]+";");
Console.WriteLine();Console.WriteLine();
Console.WriteLine("Voici les cases paires :");
for (i=0;i<n;i+=2)
Console.Write("["+i+"]"+t[i]+";");
Console.WriteLine();Console.WriteLine();
Console.WriteLine("Voici les cases impaires :");
for (i=1;i<n;i+=2)
Console.Write("["+i+"]"+t[i]+";");
Console.WriteLine();Console.WriteLine();
Console.WriteLine("Voici les cases jusqu'a rencontre une valeur >70 : ");
for (i=0;i<n&&t[i]<=70;i++)
Console.Write("["+i+"]"+t[i]+";");
Console.WriteLine();Console.WriteLine();
Console.WriteLine("Voici les cases dont les indices sont des nombres premiers : ");
for (i=0;i<n;i++)
if (estPremier(i)) Console.Write("["+i+"]"+t[i]+";");
posmin=posmax=som=0;
for(i=0;i<n;i++) {
if (t[i]<t[posmin]) posmin=i;
if (t[i]>t[posmax]) posmax=i;
som+=t[i];
}
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("Le minimum est t["+posmin+"] = "+t[posmin]);
Console.WriteLine("Le maximum est t["+posmax+"] = "+t[posmax]);
Console.WriteLine("La moyenne est = "+(((float)som)/n));
for (i=0;i<n;i++)
if(t[i]==x) break;
if (i<n) Console.WriteLine("La première occurence de la valeur "+x+" a été trouvée à l'indice "+i+".");
else Console.WriteLine("La valeur "+x+" ne se trouve pas dans le tableau.");
}
public static void Main (string[] args) {
int exo;
for (;;) {
Console.Clear ();
exo=demander(0,6,"le numéro d'exercice (Pour quitter, entrez 0)");
if (exo==0) break;
else if(exo==1) exo1();
/*else if(exo==2) exo2();*/
else Console.WriteLine("Exercice pas encore réalisé");
Console.WriteLine();
Console.Write("Appuyez sur une touche pour pouvoir continuer");
Console.ReadKey(true);
}
}
}
} |
Partager