Ir ao conteúdo
  • Cadastre-se
Douglas_V

Matriz com apenas números ímpares

Recommended Posts

Olá a todos, estou estudando matrizes, e me veio à cabeça fazer uma matriz somente de números ímpares, no visuAlg.

Caso alguém souber desvendar este mistério (para mim), seria de grande ajuda.

Cheguei neste algorítimo (Não está com os números ímpares):

 

algoritmo "Matriz Impar"
var
   matriz: vetor [1..10,1..10] de inteiro
   i, j: Inteiro
inicio
   Para i de 1 ate 10 faca
        para j de 1 ate 10 faca
             Escreva ("Digite um número para posição [",i,",",j,"] da matriz: ")
             Leia (matriz [i,j])
                   LimpaTela
        FimPara
   FimPara
   
   Para i de 1 ate 10 faca
        Para j de 1 ate 10 faca
             Escreva (matriz[i,j]:4)
        FimPara
        Escreval (" ")
   FimPara
fimalgoritmo

 

Ou seja, só a matriz.

PS: Eu sei que é muito extenso, uma matriz de 10 por 10, é aconselhável utilizar valores menores, quando está no começo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Douglas_V    Pelo que entendi você quer mostrar os números ímpares de uma matriz

como demora muito para digitar esses números todos, então fiz uma modificação  no 

seu algoritmo para que ele coloque os números automaticamente; E organize a matriz

em ordem  crescente e ainda para que ele identifique os números impares e os escreva

veja como ficou:

Algoritmo "numeros impares"
Var
matriz: vetor [1..10,1..10] de inteiro
b,d,g,i, j: Inteiro
Inicio
Para i de 1 ate 10 faca
        para j de 1 ate 10 faca
             //Escreva ("Digite um número para posição [",i,",",j,"] da matriz: ")
             //Leia (matriz [i,j])
             matriz [i,j]:=randi(1000)
                   //LimpaTela
        FimPara
   FimPara

para b de 1 ate 10 faca    // organizando os numeros
  para d de b+1 ate 10 faca// em ordem crescente
    g:=matriz[d]           // g tem o valor do vetor
    se g < matriz[b] então // se valor de g menor que valor da posição anterior
      matriz[d]:=matriz[b] // a celula posterior recebe valor da anterior
      matriz[b]:=g         // a celula anterior recebe valor da posterior
    fimse                  // fim do se
  fimpara                  // fim do para
fimpara                    // fim do para


   Para i de 1 ate 10 faca
        Para j de 1 ate 10 faca
          se matriz[i,j] mod 2 = 1 então
             Escreva (matriz[i,j]:4)
          fimse
        FimPara
        Escreval (" ")
   FimPara
Fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×