using System; namespace Lapid5{ public class Riidelapp{ double pikkus; double laius; string toon; public Riidelapp(double pikkus, double laius, string toon){ if(pikkus<=0 || laius<=0){ throw new Exception("Sobimatu suurus "+pikkus+" "+laius); } this.pikkus=pikkus; this.laius=laius; keeraPaika(); this.toon=toon; } void keeraPaika(){ if(laius>pikkus){ double abi=laius; laius=pikkus; pikkus=abi; } } public Riidelapp poolita(){ return poolita(0.5); } /// /// suhe näitab, kui palju algsest lapist alles jääb /// skaalal 0..1, ülejäänu jääb teise tükki. /// public Riidelapp poolita(double suhe){ if(suhe<0 || suhe>1){ throw new Exception("Sobimatu suhe "+suhe); } double uuspikkus=pikkus*suhe; //vana lapi uus pikkus double teisepikkus=pikkus-uuspikkus; double uuslaius=laius; pikkus=uuspikkus; laius=uuslaius; keeraPaika(); return new Riidelapp(teisepikkus, uuslaius, toon); } public double kysiPikkus(){ return pikkus; } public double kysiLaius(){ return laius; } public double kysiPindala(){ return pikkus*laius; } public string kysiToon(){ return toon; } public void tryki(){ Console.WriteLine(this.ToString()); } public override string ToString(){ return base.ToString()+" ["+pikkus+" "+laius+" "+toon+"]"; } } public class Lapiproov{ public static void Main(string[] arg){ Riidelapp lapp1=new Riidelapp(5, 12, "kollane"); Riidelapp lapp2=lapp1.poolita(0.25); Riidelapp lapp3=lapp1.poolita(); Riidelapp tykk1=new Riidelapp(60, 20, "sinine"); Riidelapp tykk2=tykk1.poolita(2.0/3); Riidelapp[] lapid=new Riidelapp[6]; lapid[0]=tykk1; lapid[1]=tykk2; lapid[2]=lapp1; //lapid[3]=new Riidelapp(15, 25, "punane"); lapid[4]=lapp2; lapid[5]=lapp3; //lapid[2].tryki(); int suurteLappideArv=0; for(int lapinr=0; lapinr10){ //lapid[lapinr].tryki(); suurteLappideArv++; } } Riidelapp[] suuredLapid=new Riidelapp[suurteLappideArv]; int vabakoht=0; for(int lapinr=0; lapinr10){ suuredLapid[vabakoht]=lapid[lapinr]; vabakoht++; } } double suurteLappidePindaladeSumma=0; foreach(Riidelapp suurlapp in suuredLapid){ suurlapp.tryki(); suurteLappidePindaladeSumma+=suurlapp.kysiPindala(); } Console.WriteLine(suurteLappidePindaladeSumma); } } }