Tp2 Java Compte Rendu

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

Compte-Rendu TP2 Java

Exercices 1,2,3,4,5 et 6 de la série 2

Réalisé par :
Boussadia Chaabane MI2A

Exercice 1
Ecrire un programme ReverseArray.java qui permet de reverser un tableau d’entiers.

Note: Il ne faut pas utiliser un autre tableau


import java.util.*;

public class Exercice1 {

public static void afficherTableau(int[] tableau) {


for (int i = 0; i < tableau.length; i++) {
System.out.print(tableau[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] t = new int[n];

for (int i = 0;i<t.length;i++){


t[i] = s.nextInt();
}

s.close();
System.out.println("Avant renversement de tableau :");
afficherTableau(t);
int i = 0;
int j = n-1;

while (i<j){
t[i] = t[i]+t[j];
t[j] = t[i] - t[j];
t[i] = t[i] - t[j];

i++;
j= j-1;
}
System.out.println("apres renversement de tableau :");
afficherTableau(t);

Exercice 2
Ecrire un programme MinGap.java qui permet de déterminer la différence minimale (gap) entre
deux entiers adjacents dans un tableau d’entier. Si la taille du tableau est moins de deux, le
programme affiche 0.

public class MinGap {


public static int calculMinGap(int [] t){
if (t.length < 2) return 0;
else {
int minGap = Math.abs(t[1] - t[0]);
int i = 2;
while (i < t.length){
if(Math.abs(t[i]-t[i-1]) < minGap){
minGap = Math.abs(t[i]-t[i-1]);
}
i++;
}
return minGap;
}
}

public static void main(String[] args) {


int[] t = {1,3,6,7,12};
System.out.println(calculMinGap(t));
}
}

Exercice 3
Ecrire un programme qui permet de remplir un tableau de 10 entiers puis de déterminer si un
entier x saisie par l’utilisateur appartient au tableau ou non. Si oui retournez l’indice de la
première apparition de cet entier sinon un message « L’élément recherché n’existe pas dans le
tableau » sera afficher.

import java.util.*;
public class Exercice3 {
public static int find(int[] a, int target){
for (int i = 0; i < a.length; i++)
{
if (a[i] == target) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Donner la taille de tabeau :");
int n = s.nextInt();
int [] arr = new int[n];
for (int i=0;i<arr.length;i++){
System.out.print("Enter t[ "+(i+1)+" : ]");
arr[i] = s.nextInt();
}
int x = s.nextInt();
int result = find(arr,x);
if (result == -1){
System.out.println("L'élément recherché n'existe pas dans le
tableau");
}
else
System.out.println(result);
s.close();
}
}

Exercice 4
Ecrire un programme qui permet de remplir un tableau de N entiers (N entre 0 et 10) puis
d’insérer un entier x à la position p (x et p sont deux entiers saisies par l’utilisateur et n’oubliez
pas de vérifier que p doit être compris entre 0 et N-1). Afficher le tableau après modification.

import java.util.*;

public class Exercice4 {

public static void afficherTableau(int[] tableau) {


for (int i = 0; i < tableau.length; i++) {
System.out.print(tableau[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N;
do{
System.out.print("Entrez la taille du tableau (entre 0 et 10) :
");
N = scanner.nextInt();

}
while(N < 0 || N > 10);

int[] tableau = new int[N];


for (int i = 0; i < N; i++) {
System.out.print("Entrez l'entier numéro " + (i + 1) + " : ");
tableau[i] = scanner.nextInt();
}

afficherTableau(tableau);

System.out.print("Entrez l'entier à insérer : ");


int entier = scanner.nextInt();
System.out.print("Entrez la position à laquelle insérer l'entier : ");
int position = scanner.nextInt();

if (position < 0 || position >= N) {


System.out.println("Position invalide.");
}
else{
for (int i = N - 1; i > position; i--) {
tableau[i] = tableau[i - 1];
}
tableau[position] = entier;
}
afficherTableau(tableau);
scanner.close();

}
}

Exercice 5 :
Ecrire un programme qui saisit 10 caractères dans un tableau, puis ensuite, calcule le nombre de
majuscules, et le nombre de lettres dans ce tableau. Un caractère n’est pas forcément une lettre :
ce peut être un chiffre, un signe de ponctuation, un caractère spécial.

import java.util.*;
public class Exercice5 {
public static void main(){
String[] t = new String[10];
Scanner s = new Scanner(System.in);
System.out.println("Veuillez saisir 10 nom");
for(int i=0;i<t.length;i++){
System.out.print((i+1)+"er nom : ");
t[i] = s.nextLine();

}
s.close();
int nbMajuscule = 0;
int nbLettres = 0;

for (int i=0;i<t.length;i++) {


if (Character.isLetter(t[i].charAt(0))) {
nbLettres = nbLettres + 1;
if(Character.isUpperCase(t[i].charAt(0))){
nbMajuscule = nbMajuscule + 1;
}
}

Exercice 6 :
Écrivez un programme pour lire les éléments de deux matrices, puis multipliez les deux matrices
dans la troisième.
Deux matrices ne peuvent être multipliées que si le nombre de colonnes de la première matrice
est le même que le nombre de lignes de la seconde matrice.

import java.util.Scanner;

public class MultMat {

public static void remplirMatrice(Scanner scanner, int[][] matrice) {


for (int i = 0; i < matrice.length; i++) {
for (int j = 0; j < matrice[0].length; j++) {
System.out.print("Element [" + (i + 1) + "][" + (j + 1) + "] :
");
matrice[i][j] = scanner.nextInt();
}
}
}

public static void afficherMatrice(int[][] matrice) {


for (int i = 0; i < matrice.length; i++) {
for (int j = 0; j < matrice[0].length; j++) {
System.out.print(matrice[i][j] + "\t");
}
System.out.println();
}
}

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);

System.out.print("Entrez le nombre de lignes de la première matrice :


");
int rows1 = scanner.nextInt();
System.out.print("Entrez le nombre de colonnes de la première matrice
: ");
int cols1 = scanner.nextInt();
System.out.print("Entrez le nombre de lignes de la deuxième matrice :
");
int rows2 = scanner.nextInt();
System.out.print("Entrez le nombre de colonnes de la deuxième matrice
: ");
int cols2 = scanner.nextInt();

int[][] mat1 = new int[rows1][cols1];


int[][] mat2 = new int[rows2][cols2];
int[][] result = new int[rows1][cols2];

System.out.println("Entrez les éléments de la première matrice :");


remplirMatrice(scanner, mat1);

System.out.println("Entrez les éléments de la deuxième matrice :");


remplirMatrice(scanner, mat2);

if (cols1 != rows2) {
System.out.println("Multiplication impossible !");
return;
}

for (int i = 0; i < rows1; i++) {


for (int j = 0; j < cols2; j++) {
for (int k = 0; k < cols1; k++) {
result[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
System.out.println("Le résultat de la multiplication des matrices est
:");
afficherMatrice(result);
}

Vous aimerez peut-être aussi