Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Da Fortran a C

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    Da Fortran a C

    Aiuto qualcuno me la traduce in C????
    codice:
    SUBROUTINE TRISOL(T,LDT,N,B,IFAIL)
           INTEGER LDT, N, IFAIL
           REAL T(LDT,N), B(N) 
           INTEGER I, J
           REAL TEMP
             IFAIL=0
             I=1
    10  IF(I .GT. N .OR. IFAIL .NE. 0) GOTO 20
          IF(T(I,I) .EQ. 0.E0) THEN
            IFAIL=I
          ENDIF
         I=I+1
         GOTO 10
    20  CONTINUE
        IF(IFAIL .EQ. 0) THEN
          DO 30 J=1,N
            B(J) = B(J)/T(J,J)
            TEMP=-B(J)
          DO 40 I=J+1,N
            B(I)=B(I)+TEMP*T(I,J)
    40    CONTINUE
    30   CONTINUE
        ENDIF
      RETURN
    END

  2. #2
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    io lo farei volentieri ma non conosco il fortran..
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ops...non conosco il C!!
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    nn consosco fortran ma ci provo

    codice:
    void trisol ( /* bohhhhhhhh */ )
    {
      int i, j;
      float temp;
    
      /*
        mancano definizioni
        REAL T(LDT,N), B(N)
    
        forse sono array dinamici :-? 
      */
    
      ifail = 0;
      i = 1;
    
      /*
        goto in c non andrebbe usato :)
      */
    
      _label10:
        if ( i > n || ifail != 0 )
          goto _label20;
    
        if ( t[i][i] == 0.0 )
          ifail = i;
    
        i++;
        goto _label10;
    
      _label20:
        if ( ifail == 0 )
        {
          for (j=1; j<30; j+=n)
          {
            b[j] /= t[j][j];
            temp = -b[j];
    
            for (i=j+1; i<40; i+=n)
              b += temp * t[i][j];
          }
        }
    
    }

    è come l'ho interpretato!!!
    ciao :metallica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.