IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Java's cool, affectation tableaux comportant chiffres, lettres


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut Java's cool, affectation tableaux comportant chiffres, lettres
    Je suis en Terminale S spé ISN, je dois rendre un travail sur le tri par sélection de tableau mais je n'arrive pas à faire relier entre eux les tableaux comportant les données chiffrées et dans l'autre les noms. Voilà l'intitulé de mon travail, en sachant que trier seulement les chiffres je sais déjà le faire.

    Un marathon a eu lieu, voici les résultats des participants classés par ordre alphabétique*:
    Nom du candidat Batman Donald Kipsang Luigi Mario OuiOui Robin Sonic Zorro
    Temps réalisé 140 360 123 190 150 340 135 90 200

    1- Créez un programme Java's cool dans lequel les résultats ci-dessus seront enregistrés dans deux tableaux nommés tabtemps et tabnoms.
    2-A l'aide d'une méthode de tri par sélection, triez le précédent tableau par ordre d'arrivés. (on pourra commencer par trier le tableau tabtemps avant de se poser la question du tri de tabnoms).
    3-Modifier votre programme pour qu'il affiche le podium de ce marathon.
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Montre nous le code que tu as déjà fonctionnel et ce que tu as tenté pour trier aussi le deuxième tableau en même temps.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    void main() { 		
    	String tabnoms[]=new String [10];
    	int tabtemps[] = new int [10]; 
    	tabtemps[1]=140; 	
    	tabtemps[2]=360; 	
    	tabtemps[3]=123; 	
    	tabtemps[4]=190; 
    	tabtemps[5]=150;
    	tabtemps[6]=340;
    	tabtemps[7]=135;
    	tabtemps[8]=92;
    	tabtemps[9]=200;
    	tabnoms[1]="Batman";
    	tabnoms[2]="Donaldt";
    	tabnoms[3]="Kipsang";
    	tabnoms[4]="Luigi";
    	tabnoms[5]="Mario";
    	tabnoms[6]="OuiOui";
    	tabnoms[7]="Robin";
    	tabnoms[8]="Sonic";
    	tabnoms[9]="Zoro";
    	int i;
    	int j;
    	int posmin;
    	int temps;
    	tabtemps[1]=tabnoms[1];//l'erreur est ici car un int est différent d'un string
    	for (i=1;i<=9;i=i+1){
    		posmin=i;
    		for(j=i;j<=9;j=j+1){
    			if(tabtemps[j]<tabtemps[posmin]){
    				posmin=j;
    			}
    		}
    		if (posmin!=i){
    			temps=tabtemps[i];
    			tabtemps[i]=tabtemps[posmin];
    			tabtemps[posmin]=temps;
    		}
    	}
    	print("Contenu du tableau: ");
    	for (i = 1; i <=9; i++) {
    		print(tabtemps[i] +" ");
    		print(tabnoms[i] + " ");
    		}
    		println("");
    	}
    Voila l'affichage de la console :
    Contenu du tableau noms: 92 Batman 123 Donaldt 135 Kipsang 140 Luigi 150 Mario 190 OuiOui 200 Robin 340 Sonic 360 Zoro
    Pour le trie alphabétique je n'ai que l'algorithme papier, je n'ai pas eu le temps encore de le programmer.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    pour trier le tableau tabTemps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    import java.util.Arrays;
     
    public class Test {
     
     
    	static String [] tabNoms = {"Batman","Donald","Kipsang","Luigi","Mario","OuiOui","Robin","Sonic","Zorro"};
    	static int[] tabTemps = {140,360,123,190,150,340,135,90,200};
    	static int[] tabTempsTries = new int[tabTemps.length];
     
    	public static void main(String[] args) {
     
    		tabTempsTries= Arrays.stream(tabTemps).sorted().toArray();
    		Arrays.stream(tabTempsTries).forEach(System.out::println);  //  affiche le résultat
     
    		// ou
     
    		System.arraycopy(tabTemps,0,tabTempsTries,0,tabTemps.length);		
    		Arrays.sort(tabTempTries);
    		Arrays.stream(tabTempsTries).forEach(System.out::println);  // affiche le résultat
    	}
     
    }

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut
    Merci, mais mon problème vient de affectation entre deux types de tableaux différents. En cours, ils nous ont montré comment trier des chiffres

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
     
    import java.util.Arrays;
    import java.util.stream.Collectors;
     
    public class Test {
     
     
    	static String [] tabNoms = {"Batman","Donald","Kipsang","Luigi","Mario","OuiOui","Robin","Sonic","Zorro"};
    	static int[] tabTemps = {140,360,123,190,150,340,135,90,200};
    	static int[] tabTempsTries = new int[tabTemps.length];
    	static String [] tabNomsTries = new String[tabNoms.length];
    	static String [] podium = new String[3];  // 3 car ne gère pas les ex æquo
     
     
    	public static void main(String[] args) {
     
     
    		tabTempsTries= Arrays.stream(tabTemps).sorted().toArray();
    		Arrays.stream(tabTempsTries).forEach(System.out::println);
     
     
                    // ou
     
    		 System.arraycopy(tabTemps,0,tabTempsTries,0,tabTemps.length);		
    		Arrays.sort(tabTempTries);
    		Arrays.stream(tabTempsTries).forEach(System.out::println);  // affiche le résultat
     
     
     
    		Arrays.stream(tabTempsTries).map(s-> Test.indice(s)).mapToObj(s-> tabNoms[s]).collect(Collectors.toList()).toArray(tabNomsTries);
    		Arrays.stream(tabNomsTries).forEach(System.out::println);
     
     
                   //ou 
     
     
                    tabNomsTries = Test.triParNom(tabtemps,tabnoms);
    		Arrays.stream(tabNomsTries).forEach(System.out::println);
     
     
                   // podium : ne gère pas les ex æquo
     
    		podium = Test.podium(tabNomsTries);
    		Arrays.stream(podium).forEach(System.out::println);
     
     
    	}
     
     
    	static int indice(int valeur){
     
    		int i = 0;
     
    		for ( i = 0; !(( tabTemps[i] == valeur) || i> tabTempsTries.length) ; i++){
     
    		}	
    		return i;
    	}
     
    	static String[] triParNom(final int[] tabTemps, final String[] tabNoms){
     
    		String [] tabres = new String[tabNoms.length];
    		int j=0;
     
    		int [] tabTempsTrie =   Arrays.stream(tabTemps).sorted().toArray();
     
    		for (int i = 0; i< tabTempsTrie.length ; i++){
     
    			for (j = 0; !((tabTempsTrie[i] == tabTemps[j]) || j> tabTemps.length) ;j++){
     
    			}	
    			tabres[i] = tabNoms[j];
    		}
    		return tabres;
    	}	
     
     
     
     
    	static String[] podium(final String[] tabData){
     
    		String[] podium= new String[3];
     
    		System.arraycopy(tabData,0,podium,0,3);
     
    		return podium;
    	}	
     
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [EXCEL] conversion chiffre/lettre
    Par jess56 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/07/2012, 13h16
  2. [Tableaux] Affichage des lettres avec accents
    Par Fredo02 dans le forum Langage
    Réponses: 11
    Dernier message: 12/12/2007, 18h21
  3. Format Chiffres + lettres dans un textbox
    Par stefane26 dans le forum Excel
    Réponses: 7
    Dernier message: 04/07/2007, 09h24
  4. Case chiffre / lettre
    Par salska dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/07/2006, 11h19
  5. transformation d'une somme ecrite en chiffre => lettres
    Par Hamza dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 01/04/2006, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo