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

Fortran Discussion :

Erreur avec IF


Sujet :

Fortran

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Erreur avec IF
    Bonjour,
    Je suis entrain de faire un programme que voici :
    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
     program pic
    	implicit none
     
    	integer :: i,j,k
    	real :: energie(40),energie1(40),tab(28,28)
    	real:: somme(40),a(40),b(40),c(40),d(40)	
     
    	open(1,file='energie.txt')
    	open(2,file='pic.txt')
    	open(3,file='pic1.txt')
    	do i=1,29
    	read(1,*) energie(i)
    	c(i)=energie(i) -2
    	d(i)=energie(i) +2
     
    	end do 
     
     
    	do i=1,28
    		do j=1,28
    		tab(i,j)=energie(j) + energie(i+1)
    		write(2,*) i,j,energie(i+1), energie(j),tab(i,j)
     
    		end do
    	end do 
              close(2)
    		open(2,file='pic.txt',position='rewind')
    	     do i=1,28
    		 read(2,*) a(i),b(i),energie(i), energie1(i),somme(i)
    	if (energie(i) .GE. c(i)) .AND. (energie(i) .LE. d(i)) then
     
    		write(3,*) somme(i)
    		end if
    	   end do
     
     
    	close(1)
    	close(2)
    	close(3)
    	END
    A la compilation avec f95 sous ubuntu 12.04 j'ai cette erreur :
    if (energie(i) .GE. c(i)) .AND. (energie(i) .LE. d(i)) then
    1
    Error: Cannot assign to a named constant at (1)
    Je n'arrive pas à voir pourquoi, j'ai essayé les 2 conditions séparées et il y n' y aucun problème. Dès que je mets le et logique l'erreur apparait, ma syntaxe n'est peut etre pas bonne.
    Quelqu'un aurait-il une idée?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Salut, c'est très simple, il te faut rajouter des parenthèses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((energie(i) .GE. c(i)) .AND. (energie(i) .LE. d(i))) then
    ou mieux pour alléger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (energie(i) .GE. c(i) .AND. energie(i) .LE. d(i)) then
    Et maintenant encore mieux pour être plus naturellement lisible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (energie(i)>=c(i) .and. energie(i)<=d(i)) then

Discussions similaires

  1. Erreur Avec Interbase
    Par smokemon dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/10/2004, 07h24
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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