Lógica, perguntado por LuziaCMiranda, 1 ano atrás

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


Anexos:
Perguntas interessantes