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
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela