TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação Sodoku

Por:   •  10/11/2015  •  Trabalho acadêmico  •  3.562 Palavras (15 Páginas)  •  144 Visualizações

Página 1 de 15

program sudoku

       integer lin, col, opcao1, opcao2, op

       integer quant_def, hora, condicao4, quartacond

       integer mat(9,9)

       logical pricond,segcond,tercond,condicao1,condicao2,condicao3

       

       op = 0

print*, ' BEM VINDO AO SUDOKU!'

       do lin=1,9,1

        do col=1,9,1

         mat(lin,col)=0

        end do

       end do

       do lin=1,9,1

print*,mat(lin,1), mat(lin,2), mat(lin,3),mat(lin,4),mat(lin,5),

     & mat(lin,6), mat(lin,7), mat(lin,8), mat(lin,9)

       end do

       

       call menu1

       print*,'Escolha sua op‡Æo:'

       read*, opcao1

do while (opcao1 .lt. 1 .or. opcao1 .gt. 3)

        print*,'Op‡Æo inv lida! '

        call menu1

        print*,'Escolha sua op‡Æo:'

        read*, opcao1

       end do

do while(opcao1 .lt. 3)

        if (opcao1 .eq. 1) then

         print*,'SerÆo permitidos somente at‚ 10 n£meros',

     &    ' a serem gerados!'

         print*,'Digite a quantidade de n£meros que deseja definir:'

         read*, quant_def

do while (quant_def .gt. 10)

          print*,'O m ximo permitido sÆo 10 n£meros!'

          print*,'Digite a quantidade de n£meros que deseja definir:'

          read*, quant_def

         end do

         

         do while (op .lt. quant_def)

          hora = time()

          lin = rand() * 10

          hora = time()

          col = rand() * 10

          hora = time()

          valor = rand() * 10

          do while (lin .eq. 0)

           lin = lin + 1

            end do

          do while (col .eq. 0)

           col = col + 1

          end do

          do while (valor .eq. 0)

           valor = valor + 1

          end do

if (quant_def .eq. 7) then

           mat(4,2) = 5

          else if (quant_def .eq. 8) then

           mat(5,3) = 2

           mat(2,4) = 7

          else if (quant_def .eq. 9) then

           mat(9,9) = 1

           mat(5,3) = 2

          else if (quant_def .eq. 10) then

           mat(5,3) = 2

           mat(9,9) = 1

          end if

          mat(lin,col) = valor

          op = op + 1

         end do

         do lin=1,9,1

           print*,mat(lin,1),mat(lin,2),mat(lin,3),mat(lin,4),

     &     mat(lin,5), mat(lin,6), mat(lin,7), mat(lin,8), mat(lin,9)

          end do

         end if

        if (opcao1 .eq. 2) then

         print*,'Digite a quantidade de n£meros que deseja definir:'

         read*, quant_def

       do while (op .lt. quant_def)

          print*,'Digite a linha,',' a coluna',

     &    ' e o valor:  (Ex.:linha, coluna, valor)'

          read*,lin, col, valor

          mat(lin,col) = valor

          op = op + 1

         end do

         do lin=1,9,1

          print*,mat(lin,1),mat(lin,2),mat(lin,3),mat(lin,4),

     &    mat(lin,5), mat(lin,6), mat(lin,7), mat(lin,8), mat(lin,9)

         end do

        end if

        if (opcao1 .eq. 3) then

         stop

         end if

        print*, 'VAMOS COME€AR A JOGAR!'

         call menu2

         print*,'Escolha sua op‡Æo:'

         read*, opcao2

        do while (opcao2 .lt. 1 .or. opcao2 .gt. 4)

          print*,'Op‡Æo inv lida!'

          call menu2

          print*,'Escolha sua op‡Æo:'

          read*, opcao2

         end do

         

do while(opcao2 .lt. 4)

          if (opcao2 .eq. 1) then

           print*,'Digite a linha,',' a coluna',

     &     ' e o valor:  (Ex.:linha, coluna, valor)'

           read*,lin, col, valor

            do while (lin .lt. 1 .or. lin .gt. 9)

            print*,'LINHA INEXISTENTE!'

            print*,'Digite a linha,',' a coluna',

     &     ' e o valor:  (Ex.:linha, coluna, valor)'

           read*,lin, col, valor

           end do

          do while (col .lt. 1 .or. col .gt. 9)

            print*,'COLUNA INEXISTENTE!'

            print*,'Digite a linha,',' a coluna',

     &     ' e o valor:  (Ex.:linha, coluna, valor)'

           read*,lin, col, valor

           end do

          do while (valor .lt. 1 .or. valor .gt. 9)

            print*,'VALOR NÇO PERMITIDO!'

            print*,'Digite a linha,',' a coluna',

     &     ' e o valor:  (Ex.:linha, coluna, valor)'

           read*,lin, col, valor

           end do

           mat(lin,col)=valor

           do lin=1,9,1

            print*,mat(lin,1),mat(lin,2),mat(lin,3),mat(lin,4),

     &      mat(lin,5), mat(lin,6), mat(lin,7), mat(lin,8), mat(lin,9)

           end do

           call menu2

           print*,'Escolha sua op‡Æo:'

...

Baixar como (para membros premium)  txt (9.5 Kb)   pdf (58.1 Kb)   docx (13 Kb)  
Continuar por mais 14 páginas »
Disponível apenas no TrabalhosGratuitos.com