Problème avec un IF fortran sous code blocs:
Les faits: J'utilise" Implicit integer(I-N)" omme dans le fortran 77, pour que toutes les variables commençant par les lettres I à N soientdes entiers et non des float.
Dans mon code j'ai prévu 4 intructions if différentes et bloquées en commentaire et nommées CAs 0, ....CAS 3.
Le but final étant le cas 3 qui utilise comme indices dans ICHEC le contenu des cases d'un autre tableau IT.
Les résultats:Bref quand je valide successivement les CAS 1, CAS2, CAS3 j'obtiens toujours "unclassifiable statement"
Sei le CAS 0, heureusement, s'execte le IF étant validé, le résultat de l'exécution montre que les conditions pour les 3 cas litigieux sont pourtant vérifiées.Dans le cas 2, j'ai mis une variable plutot qu'une constante!!
Apparemment je n'ai pas d'erreur de syntaxe dans les "IF", dans le résultat du CAS 0, les nombres me semblent prendre beaucoup de place, est_ce une histoire de "INTEGER"? une histoire de je séche lamentablement§ Je joins le code et l'image de l'exécution du CAS 0
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 program test IMPLICIT integer(i-n) dimension ichec(8,8) dimension it(8,8) ichec=0;it=0 !It est un tableau de travail qui donne les indices dans le tableau ichec lig=1 it(3,1)=5 it(3,2)=6 limit=7 m=it(3,1) !pour tester avec des variables simples et non des postes de tableaux n=it(3,2) !pour tester avec des variables simples et non des postes de tableaux ichec(it(3,lig),it(3,lig+1))=7 !on force 7 dans la case echiquier(5,6) pour tester ) if(6>5) goto 100 !CAS 0 !if ichec(m,n)=7 goto 100 !CAS 1 indices du tableau avec variables numériques !if ichec(m,n)=limit goto 100 !CAS 2indices du tableau avec variables numériques !if ichec((it(3,lig)),(it(3,lig+1))=7 !CAS 3 Indices du tableau Ichec pris dans tableau IT 100 print *, "ichec(m,n)", ichec(m,n), "it(3,lig) =", it(3,lig), "it(3,lig+1) =",it(3,lig+1) end PROGRAM
Partager