Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas

Como testar se um retângulo cabe dentro de um círculo usando C++ - Exercícios Resolvidos de C++

Quantidade de visualizações: 694 vezes
Pergunta/Tarefa:

Vamos começar este exercício analisando a imagem abaixo:



Note que temos um círculo e, dentro dele, um retângulo (lembre-se: um quadrado é um retângulo também). Pela imagem podemos ver que o retângulo cabe perfeitamente dentro do círculo.

Escreva um programa C++ que pede para o usuário informar a altura e a largura do retângulo. Em seguida leia também o raio do círculo. Finalmente crie uma função C++ que receberá estes dados e informará se o retângulo cabe dentro do círculo, de acordo com as informações inseridas pelo usuário.

Sua saída deverá ser parecida com:

Largura do retângulo: 6
Altura do retângulo: 4
Raio do círculo: 5
O retângulo cabe no círculo.
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

Antes de vermos o código C++, dê uma olhada na imagem abaixo:



Sabemos que o raio é a distância que vai do centro do círculo até a sua extremidade. Da mesma forma, podemos traçar uma distância a partir do centro do retângulo e tratar esta distância como a hipotenusa do nosso triângulo retângulo imaginário, que terá como cateto adjascente a largura do retângulo dividida por dois e como cateto oposto a altura do retângulo dividida por dois também.

O retângulo vai caber no círculo se o raio do círculo for maior ou igual à hipotenusa que obtemos. Veja o código C++ completo para a resolução:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <string>
#include <iostream>
#include <math.h>

using namespace std;

// cabeçalho da função que recebe a largura e a altura do retângulo e o
// raio do círculo e retorna true se o retângulo couber no
// círculo e false em caso contrário
int retangulo_cabe_circulo(int largura, int altura, int raio);

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int largura, altura, raio;

  // vamos pedir para o usuário informar as medidas
  // do retângulo
  cout << "Largura do retângulo: ";
  cin >> largura;
  cout << "Altura do retângulo: ";
  cin >> altura;
    
  // agora vamos pedir o raio do círculo
  cout << "Raio do círculo: ";
  cin >> raio;
    
  // vamos testar se o retângulo informado cabe no círculo
  // gerado a partir do raio dado
  if(retangulo_cabe_circulo(largura, altura, raio)){
    cout << "O retângulo cabe no círculo.\n" << endl;
  }
  else{
    cout << "O retângulo não cabe no círculo.\n" << endl;
  }
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}

// função que recebe a largura e a altura do retângulo e o
// raio do círculo e retorna true se o retângulo couber no
// círculo e false em caso contrário
int retangulo_cabe_circulo(int largura, int altura, int raio){
  // vamos tratar metade da largura do retângulo como
  // sendo o cateto adjacente
  float cat_adjacente = pow((largura / 2.0), 2);
    
  // vamos tratar metade da altura do retângulo como
  // sendo o cateto oposto
  float cat_oposto = pow((altura / 2.0), 2);
    
  // obtemos a hipotenusa do triângulo retângulo que
  // extraímos a partir do retângulo informado pelo
  // usuário
  float hipotenusa = sqrt(cat_adjacente + cat_oposto);
    
  // para que o retângulo caiba no círculo, a hipotenusa que
  // obtemos não pode ser maior que o raio do círculo
  return raio >= hipotenusa;
}


Link para compartilhar na Internet ou com seus amigos:

Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.