Gostaria da ajuda no seguinte algoritmo:
Faça um algoritmo que leia a matriz A4x4 e a Matriz B4x4 . Declare um vetor de 32 posiçoes.Copie os elementos da matriz A nas 16 primeiras posições do vetor , copie os elementos da ,matriz B nas ultimas 16 posições do vetor ordene de forma crescente esse vetor .
Soluções para a tarefa
Respondido por
0
Como não foi solicitado modularização, irei fazer de maneira estruturada.
algoritmo "matrizesEvetor"
var
i, j, aux: inteiro
a[4][4], b[4][4]: inteiro
vetor[32]: inteiro
inicio
//Preenchendo as matrizes
para (i = 1; i <= 4; i++) faca
para (j = 1; j <= 4; j++) faca
escreva("Informe um valor a matriz A: ")
leia(a[i][j])
escreva("Informe um valor a matriz B: ")
leia(b[i][j])
fimpara
fimpara
//Preenchendo o vetor
aux = 1
enquanto (aux < 32) faca
para (i = 1; i <= 4; i++) faca
para (j = 1; j <= 4; j++) faca
se (aux <= 16) entao
vetor[aux] = a[i][j]
senao
vetor[aux] = b[i][j]
fimse
aux = aux + 1
fimpara
fimpara
fimenquanto
//Ordenando com o algoritmo Bubble Sort
para (i = 1; i < 32; i++) faca
para (j = (i + 1); j <= 32; j++) faca
se (vetor[i] > vetor[j]) entao
aux = vetor[i]
vetor[i] = vetor[j]
vetor[j] = aux
fimse
fimpara
fimpara
//Exibindo o vetor em ordem crescente
para (i = 1; i <= 32; i++) faca
escreva(vetor[i])
fimpara
fimalgoritmo
Nesse algoritmo só ficarei devendo o Teste de Mesa do Bubble Sort, porque são 32 valores. Aconselho a realizar o teste de mesa para verificar se está tudo OK. Teste de Mesa é muito mais valioso do que o algoritmo em si. A massa de dados foi aleatória.
algoritmo "matrizesEvetor"
var
i, j, aux: inteiro
a[4][4], b[4][4]: inteiro
vetor[32]: inteiro
inicio
//Preenchendo as matrizes
para (i = 1; i <= 4; i++) faca
para (j = 1; j <= 4; j++) faca
escreva("Informe um valor a matriz A: ")
leia(a[i][j])
escreva("Informe um valor a matriz B: ")
leia(b[i][j])
fimpara
fimpara
//Preenchendo o vetor
aux = 1
enquanto (aux < 32) faca
para (i = 1; i <= 4; i++) faca
para (j = 1; j <= 4; j++) faca
se (aux <= 16) entao
vetor[aux] = a[i][j]
senao
vetor[aux] = b[i][j]
fimse
aux = aux + 1
fimpara
fimpara
fimenquanto
//Ordenando com o algoritmo Bubble Sort
para (i = 1; i < 32; i++) faca
para (j = (i + 1); j <= 32; j++) faca
se (vetor[i] > vetor[j]) entao
aux = vetor[i]
vetor[i] = vetor[j]
vetor[j] = aux
fimse
fimpara
fimpara
//Exibindo o vetor em ordem crescente
para (i = 1; i <= 32; i++) faca
escreva(vetor[i])
fimpara
fimalgoritmo
Nesse algoritmo só ficarei devendo o Teste de Mesa do Bubble Sort, porque são 32 valores. Aconselho a realizar o teste de mesa para verificar se está tudo OK. Teste de Mesa é muito mais valioso do que o algoritmo em si. A massa de dados foi aleatória.
Anexos:
Perguntas interessantes
Matemática,
9 meses atrás
Matemática,
9 meses atrás
Português,
9 meses atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás
História,
1 ano atrás