LEANDROVEIGA31 Postado Dezembro 6, 2018 Denunciar Share Postado Dezembro 6, 2018 #include <iostream> #include <math.h> #include <vector> #include <string> using namespace std; class Coordenada{ int x_, y_; public: Coordenada(){} Coordenada(int x, int y) { x_ = x; y_ = y; } int getX() { return x_; } int getY() { return y_; } float distancia(Coordenada b) { return sqrt(pow(getX() - b.getX(),2) + pow(getY() - b.getY(),2)); } }; class Municipio{ int id, populacao; string nome; Coordenada local; public: Municipio(int i, string n, int pop, Coordenada c) { id = i; nome = n; populacao = pop; local = c; } int getPopulacao() { return populacao; } string getNome() { return nome; } Coordenada getCoordenada() { return local; } int getId() { return id; } }; class Mapa{ vector<Municipio> municipios; public: void addMunicipio(Municipio m) { municipios.push_back(m); } Municipio getMunicipio(int id){ for(int d=0 ; d<municipios.size();d++){ if(municipios[d].getId()==id){ return municipios[d]; } } } Municipio getMaior() { int maiorPopulacao = 0; int maior; for(int i = 0; i < municipios.size(); i++) { if(municipios[i].getPopulacao() > maiorPopulacao) { maior = i; maiorPopulacao = municipios[i].getPopulacao(); } } return municipios[maior]; } void drawMapa() { cout<<endl; for(int i = 1; i<=5 ; i++) { for(int j = 1; j<=10; j++) { int num = 0; for(int s = 0; s<municipios.size();s++) { if(municipios[s].getCoordenada().getX()==i && municipios[s].getCoordenada().getY()==j) { cout<<municipios[s].getId(); num=1; } } if(num==0){ cout<<"0"; } } cout<<endl; } } }; int main() { Coordenada c1(2,3); Coordenada c2(4,4); Coordenada c3(3,4); Municipio lavras(1, "Lavras", 100000, c1); Municipio nepomuceno(2, "Nepomuceno", 30000, c2); Municipio bh(3, "BH", 1000000, c3); Mapa minas; minas.addMunicipio(lavras); minas.addMunicipio(nepomuceno); minas.addMunicipio(bh); cout<<"Maior populacao: "<<minas.getMaior().getPopulacao()<<endl; cout<<"Municipio: "<<minas.getMaior().getNome()<<endl; cout<<"Distancia: "<<lavras.getCoordenada().distancia(nepomuceno.getCoordenada()); minas.drawMapa(); int id; cout<<"Pesquise um municipio pelo id: "<<endl; cin>>id; cout<<"Municipio: "<<minas.getMunicipio(id).getNome()<<endl; return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LEANDROVEIGA31
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.