Buscar

alguem sabe a pergunta da atividade pratica de estrutura de dados, abaixo

estrutura de dados

criar um progrma utilizando a linguagem de programaçao c/c++ que seja capaz de armazenar em uma matriz 3x20 o peso(linha 0), a altura (linha 1) e idade (linha 2)  de 20 pessoas. apos armazenado o programa deve oferecer ao usuario a possibilidade de ordenar a matriz pela idade pela altura e pelo peso uma vez que a forma de ordenaçao seja selecionada, o programa deve exibir a matriz ordenada. 

💡 5 Respostas

User badge image

Joao Andre MArtins Dias

Quem quiser me adicionar tem o arquivo disponível na mina lista de materiais, tambem está na disciplina estrutura de dados.

Usei o método gnome sot para ordenar a lista, bata passar o campo chave para que ele ordene a matriz.

Não fiz o menu que ai já é desaforo...kkk Espero que ajude.

 

/*
 * File:   main.cpp
 * Author: joao
 *
 * Created on 20 de junho de 2017, 15:35
 * criar um progrma utilizando a linguagem de programaçao c/c++ que seja capaz de armazenar
 * em uma matriz 3x20 o peso(linha 0), a altura (linha 1) e idade (linha 2)  
 * de 20 pessoas. apos armazenado o programa deve oferecer ao usuario a
 * possibilidade de ordenar a matriz pela idade pela altura e pelo peso
 * uma vez que a forma de ordenaçao seja selecionada, o programa deve exibir a matriz ordenada.
 */

#include <stdlib.h>
#include <stdio.h>
#include<math.h>
using namespace std;

void preencheMatriz(int mat[20][3], int m, int n) {
    int randon;
    for (int i = 0; i < m; i++) {
        for (int k = 0; k < n; k++) {
            switch (k) {
                case 0:
                    randon = (rand() % ((150 - 1) + 1)) + 1;
                    break;
                case 1:
                    randon = (rand() % ((200 - 1) + 1)) + 1;
                    break;
                case 2:
                    randon = (rand() % ((99 - 1) + 1)) + 1;
                    break;
            }
            mat[i][k] = randon;
        }
    }
}

void exibeMatriz(int mat[20][3], int m, int n) {
    printf("\nPeso - Altura - Idade\n");
    for (int i = 0; i < m; i++) {
        printf("\n");
        for (int j = 0; j < n; j++) {
            printf("[%d] ", mat[i][j]);
        }
    }
}

void gnomeSort(int vet[20][3], int m, int n, int posChave) {
    int i = 1, j = 2, aux;
    while (i < m) {
        if (vet[i - 1][posChave] <= vet[i][posChave]) {
            i = j;
            j++;
        } else {//copia do vetor na posição i(linha) em l (colunas)
            for (int l = 0; l < n; l++) {
                aux = vet[i][l];
                vet[i][l] = vet[i - 1][l];
                vet[i - 1][l] = aux;
            }
            i--;
            if (i == 0) {
                i = j;
                j++;
            }
        }
    }
}

int main(int argc, char** argv) {
    int cont = 0;
    int matriz[20][3];

    preencheMatriz(matriz, 20, 3);
    exibeMatriz(matriz, 20, 3);
    for (int i = 0; i < 3; i++) {
        gnomeSort(matriz, 20, 3, i);
        exibeMatriz(matriz, 20, 3);
    }

}

1
Dislike0
User badge image

John ctba

vlw amigo, muito obrigado ;)

 

1
Dislike0
User badge image

Binho 470

Alguem tem essa questao ja corrigida pela uninter? porque essa que esta colada ali encima esta faltando o menu de ordenaçãao.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais