Ir ao conteúdo
  • Cadastre-se

Faça um programa que leia uma matriz M de números reais, de dimensão 4 x 4


Posts recomendados

Boa noite estou com dificuldade em concluir um um algoritmo, gostaria de uma ajuda em como posso termina-lo

 

Faça um programa que leia uma matriz M de números reais, de dimensão 4 x 4, uma variável inteira op e dois números inteiros i e j. Os valores de i e j devem estar 0 e 3. Deve ser executada a tarefa descrita a seguir:

a)caso op seja par devemos trocar as posições dos elementos da coluna i com a coluna j;

b)caso op seja impar devemos trocar as posições dos elementos da linha i com a linha j .

 

segue o que consegui fazer ate agora :

var
x: vetor[1..4,1..4] de inteiro
j,i,op,a,b: inteiro
vi,vj: vetor[4] de inteiro
inicio
// Seção de Comandos
escreva("Digite o valor de OP, I e J, respectivamente: ")
leia(op,i,j)
para b de 1 ate 4 faca
   para a de 1 ate 4 faca
      leia(x[b,a])
   fimpara
fimpara
se (i = 1) então
   vi[1] <- x[1,1]
   vi[2] <- x[1,2]
   vi[3] <- x[1,3]
   vi[4] <- x[1,4]
senao
   vi[1] <- x[2,1]
   vi[2] <- x[2,2]
   vi[3] <- x[2,3]
   vi[4] <- x[2,4]
fimse
se (j = 1) então
   vj[1] <- x[1,1]
   vj[2] <- x[2,1]
   vj[3] <- x[3,1]
   vj[4] <- x[4,1]
senao
   vj[1] <- x[1,2]
   vj[2] <- x[2,2]
   vj[3] <- x[3,2]
   vj[3] <- x[4,2]
fimse
se (op MOD 2 = 0) então
   se (i = 1 e j = 1) então
   escreval

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Leo Tiso       seria bom colocar informações para o usuário  saber o que fazer; e ali na hora de pegar o valor   de I e J e op você colocou o comando leia pegando os 3 valores ao mesmo tempo, ele funciona desse jeito sim mas fica confuso e difícil de saber o que digitar, seria melhor se colocasse um por um e a informação do que digitar e  aproveitando também para verificar se o valor digitado está dentro do valor permitido tomando as medidas necessárias caso esteja fora da faixa, pedindo para digitar de novo caso não esteja dentro da faixa .   para fazer a troca da linha i pela j você não precisa usar um vetor, pode usar uma variável simples  como essa:

aux : inteiro

e use um loop para fazer a troca da linha ou coluna i pela j
       aqui troca a linha :
 

se op mod 2 <> 0 ENTÃO
    escreval("op é impar, trocando as linhas < ",i," > pela < ",j," > da matriz")
    para a de 0 ate 3 faca
      aux    := x[i,a]
      x[i,a] := x[j,a]
      x[j,a] :=    aux
    fimpara
  fimse

para trocar a coluna inverta a posição das variáveis dentro dos colchetes assim :

aux := x[a,i]

e inverta nas outras linhas também,   e seria bom escrever  toda a matriz  antes de fazer a troca  e depois de trocar escrever novamente para ver como ficou.

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...