C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41309] Re:스트럭처 구조체에 클래스나 ...루프를 이용해서 하는 방법이 있습니까?
evergreen [heredity] 799 읽음    2005-08-04 02:55
안녕하세요. heredity입니다.
질문하신 내용을 보고 몇 자 적습니다.(질문한 내용과는 동떨어진 답변일 수 있겠군요 ^^)

1. 우선
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
   struct P{
    ...

  부분이 이상하게 잘려 나갔습니다.
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    }
   struct P{
    ...
 
  로 바꾼후 저장하기를 눌러 C++ Builder가 이 부분을 자동 삭제하도록 하십시오.
  (자동으로 지워지지 않으면 Header File에 정의된 Mathod를 포함해서 수동으로 지워야 함)

2. 선언 안된 변수가 많이 있습니다.
  C/C++의 변수는 사용전 반드시 사용되는 변수를 선언(지정)해 줘야 합니다
  i, n, temp, u1, ... 무척이나 많군요.
  특히 temp는 배열(포인터)로써 그 크기가 적절해야 하는데, 이에 대한 정보가 없군요.
  이런 경우 컴파일이 된다해도 런타임 오류가 발생될 확률이 높습니다.

3. for문에서 카운터로 사용되는 변수 j가 내포된 for 루프에 또다시
  카운터로 사용되고 있습니다. 이 경우 컴파일 및 실행엔 문제가 없으나
  같은 변수를 참조하는 경우 개발자가 변수를 잘못 참조하는 오류를 범하기 쉬우므로
  이런 스타일의 코딩은 삼게하는게 좋겠습니다(아래 예 참조).

  예>
    AnsiString asStr;

    for( int nI = 0; nI < 3; nI++ ) {
      asStr = AnsiString( nI ) + ", ";

      for( int nI = 0; nI < 10; nI++ ) {  // int를 빼면 원치 않는 결과가 나오겠죠
        asStr += AnsiString( nI ) + ", ";
      }

      asStr += nI;

      ShowMessage( asStr );
    }

등 손봐야 할 곳이 조금 많아 보입니다. ㅋㅋㅋ
행복하세요.


mitchu 님이 쓰신 글 :
: 안녕하세요 다른게 아니라 스트럭처 구조에 루프문을 넣을 수 있는 것에 대해 물어보려 합니다.
:
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:   struct P{
:         double x1; double y1;
:         double x2; double y2;
:         double x3; double y3;
:         double x4; double y4;
:         int i; int n; int u;
:         };
:
:   void cal(P[],int);
:   void print(P[],int);
:
:   void cal(P[], int cnt)
:   {
:       i=0;
:       n=3;
:       for (int j=0;j<=n; j++)
:                 temp[j]=0.0;
:                 temp[n-i]= 1.0;
:                 u1= 1.0-u;
:                 for (int k=1; k<=n; k++)
:                   for (j=n; j>=k; j--)
:                         temp[j]=u1*temp[j]+u*temp[j-1];
:                 B= temp[n];
:
:         B[0]=1.0;
:         u1 = 1.0-u;
:         for (j=1; j<=n; j++)
:                 {
:                 saved = 0.0;
:                 for (k=0; k<j; k++)
:                   {
:                   temp = B[k];
:                   B[k] = saved+u1*temp;
:                   saved= u*temp;
:                   }
:                 B[j] = saved;
:          C= 0.0;
:         for (k=0; k<=n; k++)  P[i]= C + B[k]*x1;
:
: }
: //---------------------------------------------------------------------------
: 아래와 같은 식으로 조합하려 하는 데 뭔가 연결고리가 빠진것 같네요 ...정의가 안된다는 에러가 나오던데
: 어떻게 해결하는 것이 올바른 방식인 지
: 고수님들 조언좀 부탁드리겠습니다.
: 더운 여름인데 수고하세요..

+ -

관련 글 리스트
41253 스트럭처 구조체에 클래스나 ...루프를 이용해서 하는 방법이 있습니까? mitchu 717 2005/07/28
41309     Re:스트럭처 구조체에 클래스나 ...루프를 이용해서 하는 방법이 있습니까? evergreen 799 2005/08/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.