Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
main.cpp /* * 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); } }
Compartilhar