Advertisement
GraionDilach

Kör és henger egy tömbben

Mar 14th, 2012
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.24 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication5
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             bool ell;
  13.             int a;
  14.             Random RandNum = new Random();
  15.  
  16.             do
  17.             {
  18.                 Console.WriteLine("Kérem az elemszámot:");
  19.                 ell = int.TryParse(Console.ReadLine(), out a);
  20.             } while (!ell && a < 2);
  21.  
  22.             Kör[] RoundArray = new Kör[a];
  23.  
  24.             for (int i = 0; i < RoundArray.Length; i++)
  25.             {
  26.                 if (RandNum.Next() % 2 == 0)
  27.                 {
  28.                     RoundArray[i] = new Kör((RandNum.Next() % 9)+1);
  29.                 }
  30.                 else {
  31.                     RoundArray[i] = new Henger((RandNum.Next() % 9) + 1, (RandNum.Next() % 9) + 1);
  32.                 }
  33.                 Console.WriteLine("A " + (i + 1) + ". elem tipusa: " + RoundArray[i].GetType());
  34.                 RoundArray[i].számol();
  35.                 RoundArray[i].Debug();
  36.             }
  37.  
  38.             int maxround =-1, maxhenger = -1;
  39.             for (int i = 0; i < RoundArray.Length; i++)
  40.             {
  41.                
  42.  
  43.                 if (RoundArray[i] is Henger)
  44.                 {
  45.                     if (maxhenger == -1)
  46.                     {
  47.                         maxhenger = i;
  48.                     }
  49.                     else
  50.                     {
  51.                         if ((RoundArray[i] as Henger).Terfogat > (RoundArray[maxhenger] as Henger).Terfogat)
  52.                         {
  53.                             maxhenger = i;
  54.                         }
  55.                     }
  56.                 }
  57.                 else
  58.                 {
  59.                     if (maxround == -1)
  60.                     {
  61.                         maxround = i;
  62.                     }
  63.                     else
  64.                     {
  65.                         if (RoundArray[i].Area > RoundArray[maxround].Area)
  66.                         {
  67.                             maxround = i;
  68.                         }
  69.                     }
  70.  
  71.                 }
  72.             }
  73.  
  74.             Console.WriteLine("\nA legnagyobb henger: " + (maxhenger + 1) + ", térfogata: " + (RoundArray[maxhenger] as Henger).Terfogat);
  75.             Console.WriteLine("A legnagyobb kör: " + (maxround + 1) + ", területe: " + RoundArray[maxround].Area);
  76.         }
  77.     }
  78.  
  79.     class Kör {
  80.         protected int radius;
  81.         protected double area;
  82.         protected double kerulet;
  83.  
  84.         public int Radius
  85.         {
  86.             get {return radius;}
  87.             set {radius = value;}
  88.         }
  89.  
  90.         public double Area
  91.         {
  92.             get { return area; }
  93.             set { area = value; }
  94.         }
  95.  
  96.         public double Kerulet
  97.         {
  98.             get { return kerulet; }
  99.             set { kerulet = value; }
  100.         }
  101.  
  102.         public Kör(int setrad)
  103.         {
  104.             Radius = setrad;
  105.         }
  106.  
  107.         public virtual void számol () {
  108.             Area = Radius*Radius*3.14;
  109.             Kerulet = 2 * 3.14 * Radius;
  110.         }
  111.  
  112.         public virtual void Debug()
  113.         {
  114.             Console.WriteLine("r = " + Radius + ", K = " + Kerulet + ", T = "+ Area);
  115.         }
  116.     }
  117.  
  118.     class Henger : Kör {
  119.         protected int magas;
  120.         protected double felszin;
  121.         protected double terfogat;
  122.  
  123.         public int Magas
  124.         {
  125.             get { return magas; }
  126.             set { magas = value; }
  127.         }
  128.  
  129.         public double Felszin
  130.         {
  131.             get { return felszin; }
  132.             set { felszin = value; }
  133.         }
  134.  
  135.         public double Terfogat
  136.         {
  137.             get { return terfogat; }
  138.             set { terfogat = value; }
  139.         }
  140.  
  141.         public override void számol()
  142.         {
  143.             base.számol();
  144.             Felszin = 2 * Area + (Kerulet * Magas);
  145.             Terfogat = Area * Magas;
  146.         }
  147.  
  148.         public Henger(int setrad, int setmagas) : base (setrad)
  149.         {
  150.             Magas = setmagas;
  151.         }
  152.  
  153.         public override void Debug()
  154.         {
  155.             base.Debug();
  156.             Console.WriteLine("m = " + Magas + ", A = " + Felszin + ", V = " + Terfogat);
  157.         }
  158.     }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement