tp recursivite

This commit is contained in:
Simoes Lukas
2025-10-09 12:11:25 +02:00
parent 56258c01e6
commit 91d20e0ba6
15 changed files with 181 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,17 @@
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Tableaux t = new Tableaux(args.length);
int[] entiers = t.convertitTab(args, args.length);
t.afficheTab(entiers, 0);
System.out.println("Nombre d'entiers pairs : " + t.entiersPairs(0));
System.out.println("Valeur maximale : " + t.maximum(0, 0));
t.afficheTabInverse(entiers, entiers.length-1);
}
}

Binary file not shown.

View File

@@ -0,0 +1,61 @@
public class Tableaux {
private int[] tableau;
public Tableaux(int tailleTab) {
this.tableau = new int[tailleTab];
}
public int[] convertitTab(String[] tab, int tailleTab) {
if (tailleTab == 1) {
this.tableau[0] = Integer.parseInt(tab[0]);
return this.tableau;
}
this.tableau[tailleTab-1] = Integer.parseInt(tab[tailleTab-1]);
return this.convertitTab(tab, --tailleTab);
}
public void afficheTab(int[] tab, int increment) {
if (increment == tab.length-1) {
System.out.println(tab[increment]);
} else {
System.out.print(tab[increment] + " | ");
afficheTab(tab, ++increment);
}
}
public int entiersPairs(int increment) {
if (increment == this.tableau.length) {
return 0;
}
if (this.tableau[increment] % 2 == 0) {
return 1 + entiersPairs(++increment);
} else {
return 0 + entiersPairs(++increment);
}
}
public int maximum(int increment, int maxActuel) {
if (increment == this.tableau.length-1) {
if (this.tableau[increment] > maxActuel) {
return this.tableau[increment];
}
return maxActuel;
}
if (this.tableau[increment] > maxActuel) {
return this.maximum(increment+1, this.tableau[increment]);
}
return this.maximum(increment+1, maxActuel);
}
public void afficheTabInverse(int[] tab, int decrement) {
if (decrement == 0) {
System.out.println(tab[0]);
} else {
System.out.print(tab[decrement] + " | ");
afficheTabInverse(tab, --decrement);
}
}
}