Forum Programmation.autre Mega debutant fortran77

Posté par  .
Étiquettes :
0
22
avr.
2005
Bonjour a tous,
Je suis debutant en matiere de programmation. J'ai commence par le fortran77.
Mon probleme vous paraitra certainement simple!
J'ai un fichier compose de 6 colonnes (sur des milliers de lignes). Deux d'entre elles m'ennuient fortement .
La premiere est une colonne de date ecrite de la facon suivante: 2/27/2002 pour le 27 fevrier 2002 par exemple.
La seconde correspond a des heures:
11:35:09.

Je voudrais creer un nouveau fichier en remplacant dans ces deux colonnes les caracteres / et : par des espaces mais je n'y arrive pas en fortran77.
Une commande awk sous linux pourrait peut etre m'aider mais je la maitrise mal.
Pouvez vous m'apporter vos lumieres!
  • # Heu...

    Posté par  (site web personnel) . Évalué à 2.

    Fortran 77, juste dis non. Tu ne vas pas apprendre à bien programmer, tu vas directement prendre de mauvaise habitudes surrannées. Un Fortran plus moderne (Fortran 90) ok, si tu as un compilateur qui supporte bien tout (et donc pas g77 si je ne m'abuse), et un bon cours pour aller avec dans la découverte de la programmation.

    Pourquoi ne pas utiliser un langage plus agréable et plus accessible ? Tu as des impératifs de performance exceptionnels ? Je pense à Python par exemple.

    Sinon, pour ton problème, tu ne donnes pas assez de détails sur les colonnes : sont-elles de largeur fixe, par quoi sont-elles séparées ? Est-ce un travail ponctuel ou devra-t-il être effectué toutes les nuits en moins de six secondes ? Etc.

    Et pour un exemple pas du tout complet de remplacement en Fortran :

    integer*4 I
    character*100 LIGNE ! à adapter à la réalité bien sûr

    ! je suppose que tu as rempli LIGNE par ailleurs

    I = index(LIGNE, '/')
    LIGNE(I:I) = ' '
    I = index(LIGNE, '/') ! pour deux itérations, je fais même pas une boucle ;-)
    LIGNE(I:I) = ' '
    I = index(LIGNE, ':')
    LIGNE(I:I) = ' '
    I = index(LIGNE, ':')
    LIGNE(I:I) = ' '

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.