Enviado em 28/11/2019 - 18:21h
Questão 19.18 do livro Aplicações cientificas em C++#include <iostream>
#include "Funcoes19018.h"
using namespace std;
int main (int argc, char *argv[]){
cout << "Programa para calcular e exibir o ponto mais próximo da origem do plano cartesiano usando classes" << endl;
cout << endl;
PONTO p1,p2;
Compare p3;
ponto p4;
int n;
double x, y;
cout << "Insira a quantidade de pontos que deseja calcular" << endl;
cout << "Quantidade = "; cin >> n;
while (n < 1 || n > 20)
{
cout << "Valor invalido!\n";
cout << "Tamanho = "; cin >> n;
}
for(int i = 0; i < n; i++)
{
cout << "Informe as coordenadas dos Pontos p" << i + 1 << ":" << endl;
cout << "x = "; cin >> x;
cout << "y = "; cin >> y;
cout << endl;
p.setXY(x,y);
p4[i] = p2.distancia(p1);
}
cout << "O ponto mais próximo da origem : p" << p3.comparar(p4) << endl;
return 0;
}
#include <cmath>
#include "Funcoes19018.h"
void PONTO::setXY(double x, double y)
{
this-> x = x;
this-> y = y;
}
double PONTO::getX()
{
return x;
}
double PONTO::getY()
{
return y;
}
double PONTO::distancia(PONTO p)
{
return sqrt(pow(x, 2) + pow(y, 2));
}
double Compare::comparar(PONTO &p)
{
double menor = p[0]; //Primeiro elemento
int indMe = 0;
for(int i = 1; i < 5; i++){ //Varia de 1 a n-1
if (p[i] < menor)
menor = p[i]; // Determina menor
indMe = i; //Indice do menor
}
return indMe;
}
#ifndef FIGURAS_19018_H
#define FIGURAS_19018_H
using namespace std;
class PONTO
{
private:
double x, y;
public:
void setXY(double x, double y);
double getX();
double getY();
double distancia(PONTO p);
};
typedef PONTO* ponto;
class Compare
{
public:
ponto v[20];
double comparar(PONTO &p);
};
#endif
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (5)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)