Ir ao conteúdo
  • Cadastre-se

Matriz com apenas números ímpares


Posts recomendados

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
Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...