using System;
using System.Collections .Generic ;
internal class Square
{
//public static double Xposition=0;
private double m_S;
private double m_PX = 0 ;
private double m_PY = 0 ;
public Square( double p_S)
{
m_S = p_S;
}
public void SetXPosition( double p_PX)
{
m_PX = p_PX;
}
public void SetYPosition( double p_PY)
{
m_PY = p_PY;
}
public double GetSide( )
{
return m_S;
}
public static void OrganiseSquares( ref List< Square> pio_Squares)
{
for ( int j= pio_Squares.Count - 1 ; j> 0 ; j-- )
{
for ( int i= 1 ; i< pio_Squares.Count ; i++ )
{
Square temp= null ;
if ( pio_Squares[ i] .GetSide ( ) < pio_Squares[ i- 1 ] .GetSide ( ) )
{
temp= pio_Squares[ i] ;
pio_Squares[ i] = pio_Squares[ i- 1 ] ;
pio_Squares[ i- 1 ] = temp;
}
}
}
for ( int i= 0 ; i< pio_Squares.Count ; i++ )
{
Square s= new Square( pio_Squares[ i] .m_S ) ;
//s.m_PX=Xposition;
s.SetXPosition ( ( pio_Squares[ i- 1 ] .m_XP ) + s.GetSide ( ) ) ;
s.SetYPosition ( s.m_PY ) ;
Console.WriteLine ( s.m_PX + "" + s.m_PY ) ;
//Xposition+=s.GetSide();
}
}
}
class mainclass
{
public static void Main( )
{
var listOfSquares = new List< Square> {
new Square( 3 ) , new Square( 1 ) , new Square( 8 ) , new Square( 5 ) } ;
Square.OrganiseSquares ( ref listOfSquares) ;
} }
IHVzaW5nIFN5c3RlbTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CiAKaW50ZXJuYWwgY2xhc3MgU3F1YXJlCnsKCS8vcHVibGljIHN0YXRpYyBkb3VibGUgWHBvc2l0aW9uPTA7CiAgcHJpdmF0ZSBkb3VibGUgbV9TOwogICAgcHJpdmF0ZSBkb3VibGUgbV9QWCA9IDA7CiAgICBwcml2YXRlIGRvdWJsZSBtX1BZID0gMDsKICAgIAogICAgcHVibGljIFNxdWFyZShkb3VibGUgcF9TKQogICAgewogICAgICAgIG1fUyA9IHBfUzsKICAgIH0KICAgIAogICAgcHVibGljIHZvaWQgU2V0WFBvc2l0aW9uKGRvdWJsZSBwX1BYKQogICAgewogICAgICAgIG1fUFggPSBwX1BYOwogICAgfQogICAgCiAgICBwdWJsaWMgdm9pZCBTZXRZUG9zaXRpb24oZG91YmxlIHBfUFkpCiAgICB7CiAgICAgICAgbV9QWSA9IHBfUFk7CiAgICB9CgogICAgcHVibGljIGRvdWJsZSBHZXRTaWRlKCkKICAgIHsKICAgICAgICByZXR1cm4gbV9TOwogICAgfQoKICAKICBwdWJsaWMgc3RhdGljIHZvaWQgT3JnYW5pc2VTcXVhcmVzKHJlZiBMaXN0PFNxdWFyZT4gcGlvX1NxdWFyZXMpCiAgewogIAkKICAJZm9yKGludCBqPXBpb19TcXVhcmVzLkNvdW50LTE7aj4wO2otLSkKICB7CiAgICBmb3IoaW50IGk9MTsgaTxwaW9fU3F1YXJlcy5Db3VudDtpKyspCiAgICB7CiAgICAJU3F1YXJlIHRlbXA9bnVsbDsKICAgIAlpZihwaW9fU3F1YXJlc1tpXS5HZXRTaWRlKCk8cGlvX1NxdWFyZXNbaS0xXS5HZXRTaWRlKCkpCiAgICAJewogICAgCQl0ZW1wPXBpb19TcXVhcmVzW2ldOwogICAgCQlwaW9fU3F1YXJlc1tpXT1waW9fU3F1YXJlc1tpLTFdOwogICAgCQlwaW9fU3F1YXJlc1tpLTFdPXRlbXA7CiAgICAJfQogICAgCQogICAgfQogIH0KICBmb3IoaW50IGk9MDtpPHBpb19TcXVhcmVzLkNvdW50O2krKykKICB7CiAgCQogIFNxdWFyZSBzPW5ldyBTcXVhcmUocGlvX1NxdWFyZXNbaV0ubV9TKTsKICAJLy9zLm1fUFg9WHBvc2l0aW9uOwogIHMuU2V0WFBvc2l0aW9uKChwaW9fU3F1YXJlc1tpLTFdLm1fWFApK3MuR2V0U2lkZSgpKTsKICBzLlNldFlQb3NpdGlvbihzLm1fUFkpOwogIENvbnNvbGUuV3JpdGVMaW5lKHMubV9QWCsiIitzLm1fUFkpOwogIC8vWHBvc2l0aW9uKz1zLkdldFNpZGUoKTsKICB9Cn0KfQpjbGFzcyBtYWluY2xhc3MKewogIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICB7CiAgICB2YXIgbGlzdE9mU3F1YXJlcyA9IG5ldyBMaXN0PFNxdWFyZT57CgluZXcgU3F1YXJlKDMpLG5ldyBTcXVhcmUoMSksbmV3IFNxdWFyZSg4KSxuZXcgU3F1YXJlKDUpfTsKCQogU3F1YXJlLk9yZ2FuaXNlU3F1YXJlcyhyZWYgbGlzdE9mU3F1YXJlcyk7CiAgfX0=
compilation info
prog.cs(49,29): error CS1061: Type `System.Collections.Generic.List<Square>' does not contain a definition for `length' and no extension method `length' of type `System.Collections.Generic.List<Square>' could be found. Are you missing an assembly reference?
/usr/lib/mono/4.5/mscorlib.dll (Location of the symbol related to previous error)
prog.cs(54,36): error CS1061: Type `Square' does not contain a definition for `m_XP' and no extension method `m_XP' of type `Square' could be found. Are you missing an assembly reference?
prog.cs(4,16): (Location of the symbol related to previous error)
Compilation failed: 2 error(s), 0 warnings
stdout