Zdravím,
včera jsem dostal chuť udělat si prográmek, který mi určí, kolik malých kruhů se vejde do velkého.
Bohužel jsem se trochu zasekl - mám neblahý pocit, že můj algoritmus je chybný.
float PI=3.14159265358979323846264338327950288419716939937510f;
double VelkyPol;
double MalyPol;
string Jednotky;
Console.WriteLine("----- KOLIK MALÝCH KRUHŮ SE VEJDE DO VELKÉHO? -----");
Console.WriteLine();
Console.Write("Zadejte poloměr velkého kruhu (číslem): ");
VelkyPol=Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte poloměr malého kruhu (číslem): ");
MalyPol=Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte jednotky (zkratkou): ");
Jednotky=Convert.ToString(Console.ReadLine());
double VelkyObs=(double)PI*(VelkyPol*VelkyPol);
double MalyObs=(double)PI*(MalyPol*MalyPol);
double PocetKruhu=(double)VelkyObs/MalyObs;
double NonRoundPocetKruhu=PocetKruhu;
PocetKruhu=(int)PocetKruhu;
double PrebytekKruhu=NonRoundPocetKruhu-PocetKruhu;
double PrebytekObsahu=PrebytekKruhu*MalyObs;
Console.WriteLine();
Console.WriteLine("Do kruhu s poloměrem "+VelkyPol+" "+Jednotky+" se vejde "+PocetKruhu+" kruhů s polomerem "+MalyPol+" "+Jednotky+".");
Console.WriteLine("Zůstane "+PrebytekObsahu+" "+Jednotky+"2 volného místa.");
Pracovat to má takto:
1. Uživatel zadá poloměr velkého kruhu a následně i malého
2. Program vypočítá obsahy obou kruhů a dalšími operacemi řekne:
a) kolik malých kruhů se vejde do velkého
b) kolik zbude volného místa
Když ale zadám např. jako poloměr velkého 40 a poloměr malého 2, tak mi vyjde, že nezbude žádné volné místo. To mi však přijde jako nesmysl.
Díky za rady.