Ir para conteúdo

Recommended Posts

EXERCÍCIO: Faça uma subrotina que receba uma matriz 10x10, o número de uma linha, o número de uma coluna e retorne uma matriz 9x9, resultante da remoção da coluna e da linha informados.


Comecei a fazer no visualg até onde eu consegui, mas meu algoritmo esta errado porque ele não consegue pular a linha e coluna eliminadas, tirando só o valor e fazendo como se ainda existisse 10 linhas e 10 colunas.

Alguém poderia me ajudar?





algoritmo "Matriz"

var

matriz10: vetor [1..10,1..10] de inteiro

matriz9: vetor [1..9,1..9] de inteiro

linha,coluna,l,c: inteiro

inicio

para linha de 1 ate 10 faca

para coluna de 1 ate 10 faca

matriz10[linha,coluna] <- 10

fimpara

fimpara

escreval ("Informe a linha (1 a 10) ")

leia (l)

escreval ("Informe a coluna (1 a 10) ")

leia ©

para linha de 1 ate 10 faca

para coluna de 1 ate 10 faca

se ( (linha <> l) e (coluna <> c) ) entao

matriz9[linha,coluna]<- matriz10[linha,coluna]


fimse

fimpara

fimpara


fimalgoritmo

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
Entre para seguir isso  

  • Conteúdo Similar

    • Por thiagofdiniz
      Estou fazendo um curso técnico e estou com uma duvida sobre um exercício que me foi passado com a seguinte pergunta:
      Elabore um algoritmo que leia dois números, some cinco ao de menor valor, compare os dois valores e mostre o maior.
       
      Mas no meu código, ele está somando e mostrando o de menor valor, e não o de menor
      Será que alguém pode me ajudar não estou conseguindo enxergar o erro.. 
      x=int(input('Digite um número e aperte ENTER')) y=int(input('Digite um número e aperte ENTER')) if x>y: y=y+5 if x>y: print(x) else: print(y) else: x<y x=x+5 if x<y: print(y) else: print(x)  
    • Por irwingato
      Var // Seção de Declarações das variáveis romano:caractere subtexto :caractere i:inteiro letra1:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) para i de 1 ate Compr(romano) faca subtexto <- Copia(romano,i,1) escreval(subTexto) fimpara Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra.
      Alguém  tem alguma ideia?
      Acho que sei como finalmente fazer primeiramente eu pegaria o valor em romano digitado, pegaria o tamanho da letra valor atribuído seria n tamanho da letra e desse tamanho da letra tiraria n-1, depois tentaria dividir a letra, não sei o comando no VisualG para separar as letras e criaria um variável para armazenar o separamento dessas letras nesse caso separador criaria outra variável nesse caso s e receberia zero depois faria um para onde i =0 e i tem que ser menor que o tamanho da letra nessa e iria somando por +1 depois abriria um se verificando se a divisão da letras separador = "M" então s= s+1000 e dentro desse se abriria outro se  e se se separador[i-1]= "C" então s= s-200, terminaria esse se depois abriria outro se verificando se separador = "D" então s=s+500 e dentro abriria outro se e se separador[i-1] = "C" então s=s-200 depois fecharia esse se e abriria outro se separador = "C" então s=s+100 e dentro desse se abriria outro se se separador[i-1] = "X" e então s=s-20 depois terminaria esse se e abriria outro se, se separador = "L" então s=s+50 dentro abriria outro se, se separador[i-1] = "X" então
      s=s-20 depois terminaria esse se e abriria outro se, se separador="X" então s=s+10 abriria outro se, se separador[i-1] = "I" então s=s-2 depois fecharia esse se depois abriria outro se, se separador="V" então s=s+5 e dentro desse se abriria outro se, se separador[i-1] = "I" então s=s-2 fecharia esse se depois abriria outro se se separador = "I" então s=s+1
      depois daria um escreval(s)
      O problema está na hora de separar as letras qual o comando no VisualG para separar letra ou não tem?
      O comando copia é útil somente se separar letra por letra porém falha na hora, por exemplo de copiar um número romano, eu eu tenho que já passar esse comando com parâmetros já pré-deficinidos copie desta casa até esta casa (romano;1;2), que no não teria como colocar todos os parâmetros para todos os números de 1 a 3999
       
    • Por irwingato
      Var // Seção de Declarações das variáveis romano:caractere subtexto :caractere i:inteiro letra1:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) para i de 1 ate Compr(romano) faca subtexto <- Copia(romano,i,1) escreval(subTexto) fimpara Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra.
      Alguém  tem alguma ideia?
       
    • Por irwingato
      Var // Seção de Declarações das variáveis Fatorial,Numero,x : Inteiro Primo,Resposta : Inteiro vetorr : vetor[0..1000] de inteiro Flag : Logico Inicio // Seção de Comandos, procedimento, funções, operadores, etc... Limpatela Mudacor("Amarelo","Frente") Escreva("Deseja até que número primo: ") leia(Numero) Escreval Escreva(" 1") Para Primo de 2 ate Numero faca Fatorial<- 2 Flag <- Falso enquanto (Primo<>fatorial) faca Resposta <- Primo MOD Fatorial Fatorial <- Fatorial + 1 se Resposta = 0 entao Flag <- Verdadeiro fimse fimenquanto se (Nao Flag) entao escreva(" , ",Primo) vetorr[x] := primo x := x + 1 fimse fimpara escreval escreval escreval("O Número Primo Anterior A ",numero," é ",vetorr[x-1]) O código ficou bom mas contém um erro o número 1 não é primo e preciso otimizá-lo ainda para ficar mais eficiente gostaria de quando você múltiplo de um número já removesse da contagem e passasse para o próximo número, pois quando é múltiplo já não é mais primo pois somente precisa ter 2 divisores exatos que no caso seria o 1 e o número digitado, a e outra falha no algoritmo tem que ser um número primo anterior e caso o número digitado seja primo deve informar o número primo anterior a este digitado
    • Por irwingato
      Var // Seção de Declarações das variáveis respostas,gabarito: vetor[1..3]caractere i,acertos, erros: inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... //Escreval("Digite a resposta") //Escreval("Digite o gabarito") para i de 1 ate 3 faca Escreval("Digite a resposta") leia(respostas[i]) se(respostas[i]<>a) e (respostas[i]<>b) e (respostas[i]<>c) e (respostas[i]<>d) Escreval("Por favor digite respostas válidas de a,b,c e d") fimse fimpara para i de 1 ate 3 faca Escreval("Digite o gabarito") leia(gabarito[i]) se(gabarito[i]<>a) e (gabarito[i]<>b) e (gabarito[i]<>c) e (gabarito[i]<>d) Escreval("Por favor digite um gabarito válido de a,b,c e d") fimse fimpara acertos<-0 para i de 1 ate 3 faca se(respostas[i] = gabarito[i]) entao acertos<-acertos+1 fimse erros<-3-acertos fimpara escreval("O número de acertos foi:",acertos) escreval("O número de erros foi:", erros) Fimalgoritmo Criei esse algoritmo porém o mesmo apresenta o erro variável RESPOSTAS[1] não foi encontrada, já tentei achar o erro e nada, o algoritmo que fiz é para pedir as respostas de a até d caso não seja informado isso irá pedir para informar esse valor no gabarito também e também conta os acertos e os erros
×

Informação importante

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