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 :

Appel de matrice


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut Appel de matrice
    Bonjour,
    J'ai un petit souci avec un appel. En effet voici mon problème :
    J'ai une matrice avec des nombres aléatoires à l'intérieur de celle ci. J'ai par exemple une matrice de taille 3*3 rempli de huit 0 et de 1 nombre au hasard par exemple. Après que cette matrice soit affiché je voudrais pouvoir placer des valeurs à la place des 0. Savez vous comment je pourrais retoucher cette matrice pour que je saisisse par exemple à la place d'une case qui contient un 0 une autre valeur. Je dois surement faire une action qui appelle le tableau non ?

    Merci d'avance pour votre aide. J'espère que c'est assez clair...

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    je comprend pas trop ...
    tu veux par exemple demander à l utilisateur pour chaque case à 0 par quelle valeur il veut la remplacer ?? ou bien que certaines cases ??
    peux tu préciser un peu ... à moins que ce soit moi qui comprenne rien

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ce n'est pas clair du tout....
    Pour modifier les éléments à zéro d'un tableau à deux dimension, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for( int i = 0 ; i < 3 ; ++i )
    {
      for( int j = 0 ; j < 3 ; ++j )
      {
        if( matrice[ i ][ j ] == 0 )
        {
          matrice[ i ][ j ] = valeur;
        }
      }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    Oui c'est cela. Pour que ce soit plus simple je vais mettre mon algo :
    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
    // Remplacement
     
    public class remplacement{
        public static final int MAX= 20 ;
     
     
          public static void creation(int[][]mat){
          int i,j;
          int N=mat.length;
          int M=mat[0].length;
     
          for(i=0;i<N;i++){
              for(j=0;j<M;j++){
           System.out.print(mat[i][j]+"\t");
              }
                System.out.println();
            }
          }
          public static void remplissagemat(int[][]mat,int n,int m,int A){
          int i,j,cpt;      
    	cpt=0;
    	while(cpt!=A){
    		i=(int) (Math.random()*((n-1)+1));
    		j=(int) (Math.random()*((m-1)+1));
     
    	if (mat[i][j]==0){
    		mat[i][j]=(int) (Math.random()*(MAX+1));
    		cpt=cpt+1;
     
            }
          }
        }
     
    //Programme principal.
      public static void main(String [] args){
      System.out.println("Taille du plateau en commencant par le nombre de lignes puis en second le nombre de colonnes");
      int N=Clavier.readInt();
      int M=Clavier.readInt();
    System.out.println(" nombre d'objets ");  
      int A= Clavier.readInt(); // A correspond au nombre d'objets voulu.
      int[][] mat1= new int[N][M];
      System.out.println("Le plateau est le suivant :");
      remplissagemat(mat1,N,M,A);
    creation(mat1);
      System.out.println("Nombres de cases à remplacer");
      int nbre= Clavier.readInt();
      }
    }
    Voila cette matrice génère des 0 Et des valeurs aléatoires. Après avoir demandé le nombre de cases que la personne voulait remplacer, je ne sais pas comment faire pour que la personne saisisse la ligne et la colonne qu'il veut remplacer. Je sais qu'il faut faire un tt que le nbre n'est pas à atteint lui demander la case qu'il veut changer... Mais après je bloque... J'espère que ce coup ci c'est assez clair... Merci.

  5. #5
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    tu voudrais lui poser les questions suivantes en gros :

    Donnez la ligne et la colonne de la valeur que vous voulez remplacer :
    -> 3,2
    Donnez la valeur à mettre en [3,2] :
    -> 10


    Et là tu met 10 dans mat(3,2). C'est bien ça ? Ou est-ce que tu veux boucler sur chaque case à 0 et faire ta demande ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    Non je préférais faire la première solution c'est à dire :
    Donnez la ligne et la colonne de la valeur que vous voulez remplacer :
    -> 3,2
    Donnez la valeur à mettre en [3,2] :
    -> 10

  7. #7
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    tu as une fonction pour lire les valeurs données par l'utilisateur ou pas?

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2013, 15h56
  2. appel d'une matrice dans un compteur
    Par sergy01 dans le forum MATLAB
    Réponses: 5
    Dernier message: 22/06/2012, 11h49
  3. VBA: Appeler une Liste/Matrice définie sous Excel
    Par vatfer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/07/2010, 10h48
  4. appeler une matrice dans une subroutine
    Par brahim20 dans le forum Fortran
    Réponses: 2
    Dernier message: 01/07/2010, 08h51

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