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 :

lire fichier txt et le convertir vers une matrice et graphe pour compter le nombre de successeur


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 9
    Points
    9
    Par défaut lire fichier txt et le convertir vers une matrice et graphe pour compter le nombre de successeur
    Bonjour,
    je souhaite lire un doc contenant ces données dont chaque ligne représente le lien de confiance entre ui et uj (s'il n'y a pas ça veux dire 0)
    1,2,1
    1,3,1
    2,3,1
    2,4,1
    3,5,1
    4,6,1
    5,6,1
    6,7,1
    6,8,1
    7,1,1
    7,5,1
    7,8,1
    8,4,1
    Ces données représentent une matrice binaireNom : matriceconfience.jpg
Affichages : 1026
Taille : 36,3 KoNom : graphe U1.jpg
Affichages : 976
Taille : 66,2 Ko

    Je veux transformer ce fichier de sorte qu’il me permet de calculer le nombre de voisin d’un user, par exp U1= U2 ,U3.
    Si je veux même avec distance de 3 , j’affiche U1= U2,U3,U4,u5,u6
    Est-ce qu’il y a une lib qui comporte ces méthodes ?

    Un code source prêt à être utiliser ?
    Merci.

  2. #2
    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 : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    1. lire le fichier ligne par ligne
    2. découper la ligne selon la virgule
    3. trouver le premier noeud dans la liste, si absent alors le créer et ajouter à la liste
    4. trouver le second noeud dans la liste, si absent alors le créer et ajouter à la liste
    5. associer le premier noeud au second noeud

    C'est un exercice basique en programmation.
    Qu'est-ce qui te bloque ?
    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.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    voici ce que j'ai fais mais je vois que j"ai compliqué les choses. ci dessous le code


    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
    static void FileTrustTOTab() throws FileNotFoundException, IOException, Exception{
     
     String FILENAME = "trust.txt";
     
    ArrayList<ArrayList<Integer>> matTrust=new ArrayList<ArrayList<Integer>>(); 
     
    ArrayList<String> ListUsers=new ArrayList(); //
     
    ListUsers = ListeUsersDsFichier(FILENAME); //ListeUsersDsFichier est une methode qui insert les users trouvé dans le fichiers 
    String line;
     
        for(int j = 0; j<ListUsers.size();j++) {
            ArrayList<Integer> lesTrustsdeUser=new ArrayList();
     
            BufferedReader br = new BufferedReader(new FileReader(FILENAME));
     
            while  ((line = br.readLine()) != null) {
     
             String[] data = line.trim().split("[\t,]+");
             int indice= IndiceCase(data[1]);   //j"ai pris l'indice pour construire la matrice T[i][j]
            /// je prend le j users dans ListUsers et je le compare avec la 1ere col de chaque ligne si oui j'ajoute ce user 
             if (ListUsers.get(j) == null ? data[0] == null : ListUsers.get(j).equals(data[0])){
                 lesTrustsdeUser.add(indice);
     
             } 
        }
     
        matTrust.add(j,lesTrustsdeUser); pour chauqe user j'ajoute l'ensemble des successeurs
        }
    //affichage
        System.out.println("affiche tabUser"  +ListUsers.toString());
         System.out.println("affiche " + matTrust.toString());
    ----------------------
    ce qui donne comme resultat:
    affiche tabUser[1, 2, 3, 4, 5, 6, 7, 8]
    affiche [[1, 2], [2, 3], [4], [5], [5], [6, 7], [0, 4, 7], [3]]
    ------------------
    [1, 2] represente l'user dans la case 1 et 2 qui sont u1 et u2

    qu'est ce que tu en pense de ca?
    me reste trouver les voisins d'un usersX avec distance = d

  4. #4
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    N'y aurait-il pas une erreur dans votre schéma ?
    La flèche allant de u7 vers u2 ne devrait-elle pas être plutôt une flèche allant de u7 vers u1 ?
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2014
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    je voulais transmettre l'idée , l'exemple est pris de cet article : A trust-aware recommendation method based on Pareto dominance and confidence concepts
    oui vous avez raison
    merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/04/2013, 14h16
  2. Réponses: 1
    Dernier message: 30/07/2010, 14h39
  3. Creation d'un fichier txt avec le resultat d'une requete
    Par christ-94 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/09/2006, 11h00
  4. Importer fichiers txt d'un dossier dans une table
    Par avantoux dans le forum Access
    Réponses: 16
    Dernier message: 28/12/2005, 12h13

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