게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
(얼마전에 생일 문제 질문) 한번 만들어봤는데 오류좀 찾아주세요ㅠ삭제금지
게시물ID : programmer_3511짧은주소 복사하기
작성자 : 익명6962
추천 : 0
조회수 : 335회
댓글수 : 16개
등록시간 : 2014/05/25 23:03:26
옵션
  • 본인삭제금지


저번에 birthday paradox질문 했었는데요 (c언어)


밑에와 같이 짜봤는데 ctrl+f7 에서 오류없고 ctrl+f5  도 되서 돌렸는데 

1,2 는 되는데 3이 않되네요  
실행문 옮겨보시면 무슨뜻인지 쉽게 아실수있을겁니다.






#include <iostream>
using namespace std;

#include <stdlib.h>
#include <time.h>

const int SAMPLE_SIZE = 24;
const int NUMBER_OF_SETS = 1000;

int Menu(int);
void ExplainBirthdayParadox();
void VerifyBirthdayParadox(int Birthday[]);
void SortBirthdaySet(int List[], int Last);
inline void Swap(int &A, int &B);
void LookForMatch(int Birthday[]);
void GenerateBirthdaySet(int Birthday[]);
void DisplayBirthdayParadox();
void DisplayVerification(int);

int main()
{
int Birthday[SAMPLE_SIZE + 1];
int MenuChoice = 0;
srand(time_t(NULL));

do
{
MenuChoice = Menu(MenuChoice);

switch (MenuChoice)
{
case 0:
break;
case 1:
ExplainBirthdayParadox();
break;
case 2:
VerifyBirthdayParadox(Birthday);
break;
// case 3:
// DisplayBirthdaySet( );
}
} while (MenuChoice != 0);
}

int Menu(int MenuChoice)
{
cout << "1) Explain birthday paradox\n";
cout << "2) Check Birthday paradox by generating 1000 sets of birthdays\n";
cout << "3) Display one set of 23 birthdays\n";
cout << "E) Exit (enter 0 to exit)\n";

cout << "What would you like to do? Please choose between 1-3 or E(0) to exit : \n";
cin >> MenuChoice;
return MenuChoice;
}

void ExplainBirthdayParadox()
{
cout << "If 23 persons are chosen at random, then the chances are more ";
cout << "than 50% that at least two will have the same birthday!\n\n";
}

void VerifyBirthdayParadox(int Birthday[])
{
int k, NumberOfMatches = 0;

//for (k = 1; k < NUMBER_OF_SETS; k++)
//{  
GenerateBirthdaySet(Birthday);

//SortBirthdaySet(Birthday, SAMPLE_SIZE+1);

//LookForMatch(Birthday);

//NumberOfMatches++;
//}
cout << Birthday << "\n";
//DisplayVerification(NumberOfMatches);
}

void GenerateBirthdaySet(int Birthday[])
{
int i;
for (i = 1; i < SAMPLE_SIZE; ++i) {
Birthday[i] = ((rand() % 365) + 1);
printf("%i\n", Birthday[i]);
}
}
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호