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

Turbo Pascal Discussion :

Transformer un fichier texte en matrice


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Par défaut Transformer un fichier texte en matrice
    Salut à tous,

    Il y a dans mon TD un exo qui me demande de transformer un fichier texte comprenant des nombres en une matrice (chaque case de la matrice comprenant exactement un caractère du fichier).

    Le fichier texte en question est du genre :
    que je dois transformer en une matrice dont la case (ligne=1,colonne=1) contient 0, la case (ligne=1,colonne=2) contient 4, la case (ligne=2,colonne=2) contient 5 etc.

    Seulement, je ne vois absolument pas comment séparer les différents caractères de mon fichier texte . Merci d'avance pour votre aide
    (le code devant être valable pour tous les autres fichiers textes dans le même format ^^).

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Tu peux faire quelque chose de générique, peu importe le nombre de chiffres par lignes/colonnes (tu auras néanmoins un maximum, si tu utilises des tableaux statiques, déclarés lors de création du programme).

    Le principe: lire ligne par ligne avec readln, puis parcourir chaque ligne lue caractère par caractère. Ceci avec des boucles while

  3. #3
    Membre éprouvé Avatar de Modulpro
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Salut,

    Petite rappel pour répondre à ton problème :
    Seulement, je ne vois absolument pas comment séparer les différents caractères de mon fichier texte
    L'accès au nième caractère d'une variable "chaine" de type String se fait grâce à la syntaxe suivante :où n est un entier.
    Voila, et bonne chance.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Par défaut
    Merci pour vos réponses

    Voici ce que j'ai concoté :

    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
    program texte_matrice;
    var    F : text;
    	t_matrice : array[1..3,1..3] of char;
    	i,j : integer;
    	ligne : string;
     
    begin
    assign(F,'nombres.txt');
    reset(F);
    for i:=1 to 3 do
    begin 
    readln(F,ligne);
    for j:=1 to 3 do t_matrice[i][j]:=ligne[j];
    end;
    close(F);
    end.
    Pourriez-vous me dire si c'est bon ? (Je vous demande ça parce qu'en fait je sais pas comment afficher la matrice) Merci d'avance !

  5. #5
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Oui ca me parait bon, mais pense à indenter ton code, ca aide à la relecture.

    Pour l'affichage, tu parcours ta matrice comme tu l'as fait pour le remplissage, et tu affiches chaque case avec write (sauf le dernier chiffre de la ligne où tu peux utiliser writeln pour aller à la ligne suivante).

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i := 1 to 23 do
    begin
        for j := 1 to 11 do
        write(t_matrice[i,j], ' ');
        writeln;
    end;
    J'ai essayé plusieurs variantes de ça, mais cela ne marche que dans le cas des matrices carrées

Discussions similaires

  1. Transformer un fichier texte
    Par Marco_SAP dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/07/2009, 17h13
  2. créer fichier text contenant matrice de covariance
    Par juju44 dans le forum SAS Base
    Réponses: 1
    Dernier message: 03/04/2009, 12h04
  3. Réponses: 2
    Dernier message: 16/05/2008, 16h25
  4. TransformationS de fichier texte
    Par carterslap dans le forum Solaris
    Réponses: 1
    Dernier message: 29/02/2008, 14h18
  5. [Débutante] Transformation de fichiers texte
    Par Krokro00 dans le forum MATLAB
    Réponses: 17
    Dernier message: 12/10/2007, 16h09

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