Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Brunheroti

[Resolvido] [Matriz] Matriz 3x3

Recommended Posts

Boa noite ;)

preciso da ajuda de vocês para criar um logoritmo de matriz 3x3 com soma de 15, exemplo:

 

 

15 15 15

 

15 |6 7 2| 15

15 |1 5 9| 15

15 |8 3 4| 15

 

15 15 15

 

Os exercícios são os seguintes:

1- Fazer uma programa para verificar se os valores do usuários satisfazem a resolução do problema

 

2-Gerar aleatoriamente números que satisfaçam a resolução problema....e quando encontrar a solução mostrar.

Eu até comecei a montar, só que da erro... assim que responderem, eu mando como eu fiz !

Agradeço. :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor mostrar como fez assim pode-se apontar onde está o erro de logica, o contrario seria simplesmente alguém fazer o seu trabalho de casa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor mostrar como fez assim pode-se apontar onde está o erro de logica, o contrario seria simplesmente alguém fazer o seu trabalho de casa

 

Bem, na verdade é meio que um desafio, meu professor nao me ensinou vetor, ele mandou eu simplesmente fazer isso e pronto kkk, eu ja entrei aqui no forum, e vi alguns exemplos, mas nenhum me satisfez.. aqui como fiz:

var
lin, col : inteiro
mat : vetor [1..3,1..3] de real
somalinha1, somalinha2, somalinha3, somacoluna1, somacoluna2, somacoluna3, somatudo : inteiro

inicio
somalinha1 <- 0
somalinha2 <- 0
somalinha3 <- 0
somacoluna1 <- 0
somacoluna2 <- 0
somacoluna3 <- 0

para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
      escreval ( "Digite o", lin,"º valor da linha e", col,"º valor da coluna." )
      leia (mat [lin,col])
   fimpara
fimpara

somalinha1 <- mat[1,1]+mat[1,2]+mat[1,3]
somalinha2 <- mat[2,1]+mat[2,2]+mat[2,3]
somalinha3 <- mat[3,1]+mat[3,2]+mat[3,3]
somacoluna1 <- mat[1,1]+mat[2,1]+mat[3,1]
somacoluna2 <- mat[1,2]+mat[2,2]+mat[3,2]
somacoluna3 <- mat[1,3]+mat[2,3]+mat[3,3]

escreval ("A soma da linha 1 é: ", somalinha1)
escreval ("A soma da linha 2 é: ", somalinha2)
escreval ("A soma da linha 3 é: ", somalinha3)
escreval ("A soma da coluna 1 é: ", somacoluna1)
escreval ("A soma da coluna 2 é: ", somacoluna2)
escreval ("A soma da coluna 3 é: ", somacoluna3)
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei meu erro... então ficou assim!

maaaãas, eu queria mostrar a matriz pronta, mostrar os valores que o usuária digitar!

var
mat : vetor [1..3,1..3] de real
lin, col : inteiro
somalinha1, somalinha2, somalinha3 : real
somacoluna1, somacoluna2, somacoluna3 : real
soma : real

inicio
para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
      escreval ( "Digite o valor", lin,"ª linha e", col,"ª coluna: " )
      leia (mat [lin,col])
   fimpara
fimpara

somalinha1 <- mat[1,1]+mat[1,2]+mat[1,3]
somalinha2 <- mat[2,1]+mat[2,2]+mat[2,3]
somalinha3 <- mat[3,1]+mat[3,2]+mat[3,3]
somacoluna1 <- mat[1,1]+mat[1,2]+mat[1,3]
somacoluna2 <- mat[2,1]+mat[2,2]+mat[2,3]
somacoluna3 <- mat[3,1]+mat[3,2]+mat[3,3]

escreval ("A soma da linha 1 é: ", somalinha1)
escreval ("A soma da linha 2 é: ", somalinha2)
escreval ("A soma da linha 3 é: ", somalinha3)
escreval ("A soma da coluna 1 é: ", somacoluna1)
escreval ("A soma da coluna 2 é: ", somacoluna2)
escreval ("A soma da coluna 3 é: ", somacoluna3)

somalinha1 <- 0
somalinha2 <- 0
somalinha3 <- 0
somacoluna1 <- 0
somacoluna2 <- 0
somacoluna3 <- 0

para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
   fimpara
fimpara

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- Fazer uma programa para verificar se os valores do usuários satisfazem a resolução do problema

 

esta pronto !

 

mãs, ainda falta algo!

pra fazer o 2, tenho que mostrar para o programa que todos lados, a soma é 15! eu não sei como mostrar isso para o programa... provar que é 15!

alguém me dá um luz?! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ficou assim a resoluçao da 2, mas esta errado... alguem pode me ajudar? ^^ agradeço!

algoritmo "MATRIZ 3x3"
// Função : mostrar a soma das linhas e colunas
// Autor : Rafael Brunheroti
// Data : 22/9/2010
// Seção de Declarações
var
mat : vetor [1..3,1..3] de real
lin, col : inteiro
somalinha1, somalinha2, somalinha3 : real
somacoluna1, somacoluna2, somacoluna3 : real

inicio
aleatorio on
para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
      escreval ( "Digite o valor", lin,"ª linha e", col,"ª coluna: " )
      leia (mat [lin,col])
   fimpara
fimpara

// linha 1
somalinha1 <- mat[1,1]+mat[1,2]+mat[1,3]
se (somalinha1=15) entao
// linha 2
   somalinha2 <- mat[2,1]+mat[2,2]+mat[2,3]
fimse
se (somalinha2=15) entao
// linha 3
   somalinha3 <- mat[3,1]+mat[3,2]+mat[3,3]
fimse
se (somalinha3=15) entao

// coluna 1
   somacoluna1 <- mat[1,1]+mat[1,2]+mat[1,3]
fimse
se (somacoluna1=15) entao
// coluna 2
   somacoluna2 <- mat[2,1]+mat[2,2]+mat[2,3]
fimse
se (somacoluna2=15) entao
// coluna 3
   somacoluna3 <- mat[3,1]+mat[3,2]+mat[3,3]
fimse
se (somacoluna3=15) entao
fimse

   escreval ("A soma da linha 1 é: ", somalinha1)
   escreval ("A soma da linha 2 é: ", somalinha2)
   escreval ("A soma da linha 3 é: ", somalinha3)
   escreval ("A soma da coluna 1 é: ", somacoluna1)
   escreval ("A soma da coluna 2 é: ", somacoluna2)
   escreval ("A soma da coluna 3 é: ", somacoluna3)

   escreval (mat[1,1],mat[1,2],mat[1,3])
   escreval (mat[2,1],mat[2,2],mat[2,3])
   escreval (mat[3,1],mat[3,2],mat[3,3])
aleatorio off
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Refiz o exercicio e ficou assim... o exercicio 1 pede pro usuario digitar os 9 valores e mostrar sua soma 15, isso esta feito!

O exercicio 2 pede pra provar que a soma é 15 e depois mostrar as respostas em aleatorio... isso que eu nao consigo fazer http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

aguardo alguma ajuda! :lol:

algoritmo "MATRIZ 3x3"
// Função : mostrar a soma das linhas e colunas
// Autor : Rafael Brunheroti
// Data : 22/9/2010
// Seção de Declarações
var
mat : vetor [1..3,1..3] de real
lin, col : inteiro
somalinha1, somalinha2, somalinha3 : real
somacoluna1, somacoluna2, somacoluna3 : real
somadiag1, somadiag2 : real

inicio

para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
      escreval ( "Digite o valor", lin,"ª linha e", col,"ª coluna: " )
      leia (mat [lin,col])
   fimpara
fimpara

// linha 1
somalinha1 <- mat[1,1]+mat[1,2]+mat[1,3]
se (somalinha1=15) entao

   // linha 2
   somalinha2 <- mat[2,1]+mat[2,2]+mat[2,3]
   se (somalinha2=15) entao

      // linha 3
      somalinha3 <- mat[3,1]+mat[3,2]+mat[3,3]
      se (somalinha3=15) entao

         // coluna 1
         somacoluna1 <- mat[1,1]+mat[1,2]+mat[1,3]
         se (somacoluna1=15) entao

            // coluna 2
            somacoluna2 <- mat[2,1]+mat[2,2]+mat[2,3]
            se (somacoluna2=15) entao

               // coluna 3
               somacoluna3 <- mat[3,1]+mat[3,2]+mat[3,3]
               se (somacoluna3=15) entao

                  // diagonal 1
                  somadiag1 <- mat[1,1]+mat[2,2]+mat[3,3]
                  se (somadiag1=15) entao

                     // diagonal 2
                     somadiag2 <- mat[3,1]+mat[2,2]+mat[1,3]
                     se (somadiag2=15) entao
                     fimse
                  fimse
               fimse
            fimse
         fimse
      fimse
   fimse
fimse

escreval ("A soma da linha 1 é: ", somalinha1)
escreval ("A soma da linha 2 é: ", somalinha2)
escreval ("A soma da linha 3 é: ", somalinha3)
escreval ("A soma da coluna 1 é: ", somacoluna1)
escreval ("A soma da coluna 2 é: ", somacoluna2)
escreval ("A soma da coluna 3 é: ", somacoluna3)
escreval ("A soma da diagonal principal é: ", somadiag1)
escreval ("A soma da diagonal secundária é: ", somadiag2)

escreval (mat[1,1],mat[1,2],mat[1,3])
escreval (mat[2,1],mat[2,2],mat[2,3])
escreval (mat[3,1],mat[3,2],mat[3,3])

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exercicio 1

1- Fazer uma programa para verificar se os valores do usuários satisfazem a resolução do problema. OK

 

Exercicio 2

2- Gerar aleatoriamente números que satisfaçam a resolução problema....e quando encontrar a solução mostrar.

já cansei de procurar, tentar fazer e nada! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

eu tentei usar o comando aleatorio on, mas precisa dar a resposta certa, nao gerar qualquer numero e nao formar a matriz <_<

alguém me ajuda, por favor !? :(

 

algoritmo "matriz 3x3 com soma 15"
// Função : 1-somar linhas e colunas... 2-mostrar as respostas aleatoriamente
// Autor : Rafael Brunheroti
// Data : 25/9/2010
// Seção de Declarações 
var
mat : vetor [1..3,1..3] de real
lin, col : inteiro
somalinha1, somalinha2, somalinha3 : real
somacoluna1, somacoluna2, somacoluna3 : real
somadiag1, somadiag2 : real

inicio


para lin de 1 ate 3 faca
   para col de 1 ate 3 faca
      escreval ( "Digite o valor", lin,"ª linha e", col,"ª coluna: " )
      leia (mat [lin,col])
   fimpara
fimpara


// linha 1
somalinha1 <- mat[1,1]+mat[1,2]+mat[1,3] <- 15

// linha 2
somalinha2 <- mat[2,1]+mat[2,2]+mat[2,3] <- 15

// linha 3
somalinha3 <- mat[3,1]+mat[3,2]+mat[3,3] <- 15

// coluna 1
somacoluna1 <- mat[1,1]+mat[1,2]+mat[1,3] <- 15

// coluna 2
somacoluna2 <- mat[2,1]+mat[2,2]+mat[2,3] <- 15

// coluna 3
somacoluna3 <- mat[3,1]+mat[3,2]+mat[3,3] <- 15

// diagonal 1
somadiag1 <- mat[1,1]+mat[2,2]+mat[3,3] <- 15

// diagonal 2
somadiag2 <- mat[3,1]+mat[2,2]+mat[1,3] <- 15

se (somalinha1=15) e (somalinha2=15) e (somalinha3=15) e (somacoluna1=15) e (somacoluna2=15) e (somacoluna3=15) e (somadiag1=15) e (somadiag2=15) entao
   escreval ("Se forma uma matriz com soma 15 ! ")
senao
   escreval ("Não se forma uma matriz com soma 15 ! ")
fimse

   escreval ("A soma da linha 1 é: ", somalinha1)
   escreval ("A soma da linha 2 é: ", somalinha2)
   escreval ("A soma da linha 3 é: ", somalinha3)
   escreval ("A soma da coluna 1 é: ", somacoluna1)
   escreval ("A soma da coluna 2 é: ", somacoluna2)
   escreval ("A soma da coluna 3 é: ", somacoluna3)
   escreval ("A soma da diagonal principal é: ", somadiag1)
   escreval ("A soma da diagonal secundária é: ", somadiag2)

   escreval (mat[1,1],mat[1,2],mat[1,3])
   escreval (mat[2,1],mat[2,2],mat[2,3])
   escreval (mat[3,1],mat[3,2],mat[3,3])

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá.

o primeiro você disse que está ok?! nele o usuário digita os valores e o programa apenas informa se "está OK" ou "não", para armazenar as somas use um vetor, você ta usando n variaveis, imagina se fosse uma matriz maior.. e para fazer as somas você está fazendo tudo na mão! sempre pense que existe digamos que um "padrão", para perceber somente fazendo os testes de mesa..

 

o 2 não parece ser tãoo facil, a idéia deve ser parecida com o sudoku, ou você gera números até satisfazer a soma, ou gera um número e guarda num vetor e qnd for gerar um próximo compara para ver se já não foi gerado, se não puder duplicar dados.

 

[]s

 

---

Obs: Evite "floodar" seu tópico amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom desculpe a "demora" para a ajuda, + q bom q entregou ;D

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.