다른

Mac C++ 배열 및 난수

iBookG4사용자

오리지널 포스터
2006년 6월 27일
Seattle, WA
  • 2009년 9월 20일
우리 대학에서 가장 불편한 시간에 C++ 튜터를 배치해 주더군요... 어쨌든 강사님은 다음과 같은 지침을 게시했습니다.

'1과 10 사이의 난수 25개로 배열을 채우는 함수를 작성하십시오. 그런 다음 배열을 출력하는 함수를 작성하십시오. 기능을 테스트하기 위해 메인에 몇 가지 코드를 작성하십시오. 때때로 이 테스트 코드를 *드라이버라고 합니다.

여기에 전역 변수를 사용하지 마십시오. 매개변수 목록을 통해 함수에 배열을 전달'

내 현재 코드는 디버거에서 오류를 발생시키지 않지만 배열을 출력하지 않습니다. 그리고 나는 그가 드라이버를 쓴다는 것이 무엇을 의미하는지 모릅니다. 무엇을 테스트해야 합니까? 당신은 모두 과거에 매우 도움이 되었으며 이번에는 올바른 방향으로 나를 안내하는 데 도움이 될 것이라고 확신합니다.

코드: |_+_|

lee1210

2005년 1월 10일


텍사스주 댈러스
  • 2009년 9월 20일
몇 가지: 배열은 double[]이 아니라 int[] 유형이어야 합니다. 생성하고 인쇄하려면 int 배열을 수락해야 합니다. main에서 int[]를 선언하고 생성하기 위해 전달하고 거기에 채우고 인쇄하기 위해 전달해야 합니다. NS<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

그리고 나는 그것이 정직한 실수라고 확신합니다. 당신의 교수가 가짜- 무작위의.

또한 기본적으로 생성 및 인쇄를 호출하지 않고 새로운 double()을 선언하고 있습니다. 거기에 두 배를 가져가고 위에서 논의한 대로 인수를 전달하고 이 둘의 반환 유형을 void로 변경합니다.

-읽다

그나셔729

정지 된
2005년 11월 25일
  • 2009년 9월 20일
'생산' 기능에 대한 기능 프로토타입을 작성하는 방법은 무엇입니까?
그리고 '프로듀스' 기능에 대한 호출을 어떻게 작성하시겠습니까?

그리고 '메인' 함수 내부에서 함수 프로토타입과 함수 호출 중 어느 쪽을 작성했습니까?

iBookG4사용자

오리지널 포스터
2006년 6월 27일
Seattle, WA
  • 2009년 9월 20일
lee1210은 다음과 같이 말했습니다: 몇 가지 사항: 배열은 double[]이 아니라 int[] 유형이어야 합니다. 생성하고 인쇄하려면 int 배열을 수락해야 합니다. main에서 int[]를 선언하고 생성하기 위해 전달하고 거기에 채우고 인쇄하기 위해 전달해야 합니다. NS<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

그리고 나는 그것이 정직한 실수라고 확신합니다. 당신의 교수가 가짜- 무작위의.

또한 기본적으로 생성 및 인쇄를 호출하지 않고 새로운 double()을 선언하고 있습니다. 거기에 두 배를 가져가고 위에서 논의한 대로 인수를 전달하고 이 둘의 반환 유형을 void로 변경합니다.

-읽다

알겠습니다. 제안하신 변경 사항을 적용했으며 코드가 더 논리적으로 보입니다. 지금은 for 루프에서 세 가지 오류가 발생합니다.

코드: |_+_|

첨부 파일

  • 스크린샷 2009-09-20 at 5.42.31 PM.png 스크린샷 2009-09-20 at 5.42.31 PM.png'file-meta'> 178.1 KB · 조회수: 1,941

lee1210

2005년 1월 10일
텍사스주 댈러스
  • 2009년 9월 20일
생산의 인수 유형을 int[] 또는 int *로 변경하십시오. 지금은 단지 int이므로 [] 등을 사용할 수 없습니다. 인쇄도 마찬가지입니다. 또한 생산물이나 인쇄물을 반환할 필요가 없습니다. 반환 유형을 void로 변경합니다.

나는 당신이 메인에서 print를 다시 호출하기 위한 의도라고 생각하는데, 괜찮을 것입니다.

또한 생성하기 위해 배열을 전달할 때 *array가 아닌 배열을 사용하십시오.

-읽다

iBookG4사용자

오리지널 포스터
2006년 6월 27일
Seattle, WA
  • 2009년 9월 20일
lee1210 말했다: 생산의 인수 유형을 int[] 또는 int *로 변경하십시오. 지금은 단지 int이므로 [] 등을 사용할 수 없습니다. 인쇄도 마찬가지입니다. 또한 생산물이나 인쇄물을 반환할 필요가 없습니다. 반환 유형을 void로 변경합니다.

나는 당신이 메인에서 print를 다시 호출하기 위한 의도라고 생각하는데, 괜찮을 것입니다.

또한 생성하기 위해 배열을 전달할 때 *array가 아닌 배열을 사용하십시오.

-읽다

효과가 있었다
이제 기능을 테스트하기 위해 코드를 작성한다는 것이 무엇을 의미했는지 아십니까? 그는 무엇을 의미합니까? 그리고 지금까지 도와주셔서 정말 감사합니다!

코드: |_+_|

촌33

중재자
직원
2009년 8월 9일
심연의 차원
  • 2009년 9월 20일
iBookG4user는 다음과 같이 말했습니다: 이제 기능을 테스트하기 위해 코드를 작성한다는 것이 무엇을 의미했는지 아십니까? 그는 무엇을 의미합니까?

사양에 따르면 배열의 숫자는 1에서 10 사이여야 합니다. 이를 확인하는 테스트를 작성할 수 있습니다.

또한 숫자는 임의적이어야 한다고 말했습니다. 무작위성은 보기보다 테스트하기 어려울 수 있지만 단순한 비임의성은 테스트하기 쉽습니다. 가장 간단한 방법은 모든 숫자가 동일한 값이 아님을 확인하는 것입니다. 무작위성에 대한 더 복잡한 테스트는 통계 분석을 사용합니다.

작성할 수 있는 또 다른 테스트는 생성() 함수가 호출될 때마다 다른 값을 반환하는지 확인하는 것입니다. 이것은 통계 분석의 간단한 형태입니다. 즉, 연속 호출이 독립적인 결과를 갖도록 합니다.

또한 생산()을 호출하기 전에 -1 또는 0과 같은 잘못된 값으로 배열을 초기화하는 것을 고려해야 합니다. 그렇지 않으면 초기화되지 않은 로컬 배열에 예측할 수 없는 값이 이미 포함되어 있을 수 있으며, 이는 생성()이 아무 작업도 수행하지 않는 경우에도 테스트에서 무작위로 해석할 수 있습니다.

사양으로서 작업 설명이 다소 모호합니다. 우선 통과해야 하는 테스트를 지정하지 않습니다. 저를 믿으십시오. 자격 테스트를 선택하는 것을 대부분의 프로그래머에게 맡기면 큰 실수입니다. 코드는 프로그래머가 코드를 개발하는 데 사용한 경우인 한 가지 경우에만 작동할 수 있습니다. 그것이 미친 것 같다면, 나는 그것이 일어났다는 것을 확신할 수 있습니다.

iBookG4사용자

오리지널 포스터
2006년 6월 27일
Seattle, WA
  • 2009년 9월 20일
그것은 충분히 간단했습니다. 감사합니다!
이것은 치료 효과가 있었습니다.
코드: |_+_| NS

샌더

에게
2008년 4월 24일
  • 2009년 9월 21일
iBookG4user는 다음과 같이 말했습니다: 충분히 간단했습니다. 감사합니다!
이것은 치료 효과가 있었습니다.

배열에 '잘못된' 숫자(예: 11)를 넣고 이 함수가 이를 감지하는지 확인하십시오.

iBookG4사용자

오리지널 포스터
2006년 6월 27일
Seattle, WA
  • 2009년 9월 21일
Sander는 다음과 같이 말했습니다: 배열에 '잘못된' 숫자(예: 11)를 넣고 이 함수가 이를 감지하는지 확인하십시오.

임시로 10보다 큰 숫자를 허용하도록 어레이를 설정했는데 그것을 감지했습니다. 감사합니다. NS

샌더

에게
2008년 4월 24일
  • 2009년 9월 22일
iBookG4user는 다음과 같이 말했습니다: 10보다 큰 숫자를 허용하도록 어레이를 임시로 설정했는데 그것을 감지했습니다. 감사합니다.

배열의 첫 번째 요소가 아니더라도..?

내가 묻는 이유는 print() 함수(적어도 이 스레드에 표시된 마지막 버전)가 배열의 첫 번째 요소(더블으로 변환됨)만 반환하기 때문입니다.