2014-10-30 2 views
1
  1. 폭 직사각형의 어레이를 생성 (크기 20) 20 개 사각형 배열채우고, 각각 임의의 길이

  2. 칠이 각각 임의의 길이와 폭을 갖는다. 그런 다음 배열의 내용을 인쇄하십시오.

이 내 주어진 사각형 클래스입니다 :

class Rectangle 
{ 
    private int length, width; 
    private int area, perimeter; 
    public Rectangle() 
    { 

    } 
    public Rectangle(int l, int w) 
    { 
     length = l; 
     width = w; 
    } 
    public void SetDimension(int l, int w) 
    { 
     length = l; 
     width = w; 
    } 
    public void InputRect() 
    { 
     length = int.Parse(Console.ReadLine()); 
     width = int.Parse(Console.ReadLine()); 

    } 

    public void ComputeArea() 
    { 
     area = length * width; 
    } 
    public void ComputePerimeter() 
    { 
     perimeter = 2 * (length + width); 
    } 

    public void Display() 
    { 
     Console.WriteLine("Length: {0} \tWidth: {1} \tArea: {2} \tPerimeter: {3}", length, width, area, perimeter); 
    } 


} 

이 내가 난수를 얻을 프로그램의 시작이다. 나는 여기 붙어있다.

배열의 동일한 색인에 정확히 2 개의 숫자를 입력하려면 어떻게해야합니까?

class Program 
{ 





    static void Main(string[] args) 
    { 


     Rectangle r1 = new Rectangle(); 
     int[] x = new int[20]; 
     Random rand = new Random(); 
     for (int i = 0; i < x.Length; i++) 
     { 
      int width = rand.Next(45, 55); 
      int length = rand.Next(25, 35); 


     } 
     //r1.InputRect(width, length); 
     Console.WriteLine("The following rectanglesn are created: "); 
     //r1.Display(x); 


    } 
} 
+0

int 배열을 사용하는 이유는 무엇입니까? 왜 사각형 배열을 만들지 않겠습니까? 'Rectangle [] rectangle = new Rectangle [20]' 그리고 나서'new Rectangle (rand.Next (45,55), rand.Next (25,35)'를 for 루프의 각 단계? – sydan

+0

아래에 제공된 답변 중 하나라도 문제를 해결하는 데 도움이 되었다면 – Kai

답변

3

정수 배열이 아닌 직사각형 배열을 만들어야합니다.

+0

체크를 사용하여 답을 표시하십시오. 예, 두 가지 배열, 너비와 길이 중 하나를 사용하십시오. 그건 나쁜 생각입니다 :) – Charleh

2

여러분은 List<Rectangle> 또는 Rect[] m_Rects = new Rect[20];을 다차원 배열 int로 사용할 수 있습니다. 당신이해야 할 일이 아니다

Random rand = new Random(); 
Rectangle[] ra = new Rectangle[20]; 

for (int i = 0; i < ra .Length; i++) 
{ 
     int length = rand.Next(25, 35); 
     int width = rand.Next(45, 55); 

     ra[i] = new Rectangle(length, width); 
} 

Console.WriteLine("The following rectangles are created: "); 
foreach(Rect r in ra) 
{ 
    r.Display(); 
} 
+1

그는 그에게 전체 코드를 작성하라고 요구하지 않았기 때문에, 숙제를 할 때 도움을 요청하는 데 아무런 문제가 없습니다.) –

+0

맞습니다. 그냥 전형적인 숙제로 보였습니다.) – Kai

+0

예, 그게 제가 생각했던 것입니다. D –

1
Rectangle[] rects = new Rectangle[20]; 
Random rand = new Random(); 
for (int i = 0; i < rects.Length; i++) 
{ 
    int width = rand.Next(45, 55); 
    int length = rand.Next(25, 35); 
    rects[i] = new Rectangle(length,width); 

} 

How exactly would I enter 2 numbers into the same index of an array?

을 :)

간단한 해결책이 될 것이다 나에게 숙제처럼 약간 보인다. 알려진 크기의 1 차원 직사각형 배열을 만들고 싶습니다. 빈 배열을 만든 다음 루프를 반복하여 채 웁니다.