Buscar

EstruturaDadosMatrizPUC PR ResolvidoPela FIPP

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);
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes