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
   | program tp
    implicit none
    integer, parameter :: taille = 100
    integer :: i, l1, l2
    character(len=taille)   :: nombre1, nombre2, nb1, nb2
    character(len=taille+1) :: nombre3, nb3
    integer :: n1, n2, res1, res2 = 0
 
    print '(a$)', "Entrez les 2 nombres : "
    read(*,*) nombre1, nombre2
 
    do i = 1, taille
        nb1(i:i) = "0"; nb2(i:i) = "0"; nb3(i:i) = "0"
    enddo
    l1 = len_trim(nombre1); nb1(taille-l1+1:) = nombre1(:)
    l2 = len_trim(nombre2); nb2(taille-l2+1:) = nombre2(:)
 
    do i = taille, 1, -1
        n1 = ichar(nb1(i:i)) - 48
        n2 = ichar(nb2(i:i)) - 48
        res1 = n1 + n2 + res2
        res2 = res1 / 10
        res1 = mod(res1,10)
        nb3(i+1:i+1) = char(res1+48)
    enddo
    nb3(1:1) = char(res2+48)
 
    i = 1
    do
        l1 = index( nb3(i:i), "0")
        if (l1==0) exit
        i = i + 1
    enddo
    nombre3(1:) = nb3(i:)
 
    print '(2a)', "voila : ", nombre3
 
end program tp | 
Partager