배열에 5 개의 다른 번호를 입력하는 프로그램이 있습니다. 나는 숫자가 한 번 이상 입력되지 않도록하는 방법을 찾는 데 어려움을 겪고있다. 누군가 제발 나를 도울 수 있을까요, 아니면 적어도 올바른 방향으로 나를 가르쳐 줄 수 있습니까? 그것이 C++에서라면 도움이된다.숫자가 고유한지 비교 하시겠습니까?
0
A
답변
3
0
글쎄, 한 가지 방법은 각 번호를 배열에 추가 할 때 체크를 실행하는 것입니다. 따라서 기존 배열이 3 8 15 9
이고 번호를 삽입하기 전에 이전 항목 중 하나와 같지 않은지 확인하십시오.
-2
배열을 가지고 있으므로 루프를 돌면서 현재 숫자가 배열의 숫자와 일치하는지 확인하십시오. 그렇다면 첫 번째 일치에서 true를 반환하고 숫자를 건너 뜁니다.
// pass the array and the number you are checking for existence
int isRepeating(int *array, int unique)
{
int i, l = sizeof(array)/sizeof(int); // find size of the array
// loop thru the array and match any value
for (i = 0; i < l; i++)
{
// if matches, return positive
if (a[i] == unique) return true;
}
// otherwise return negative
return false;
}
int main(int argc, char *argv[])
{
// out array of existing numbers
int array[5] = {1, 2, 3, 4, 5};
// the number we want to insert
int nextOne = 3;
// we check it its already in existence, if so, take appropriate actions
if (isRepeating(array, nextOne)) {
std::cout << "Oops, number " << nextOne << " is already in existence." << std::endl;
}
// your logic here
return 0;
}
추신 : 아래
몇 가지 예제 코드입니다 나는 set() 솔루션을 정말 좋아한다.관련 문제
- 1. 방문자가 고유한지 확인하는 방법
- 2. 숫자가
- 3. EMF를 코드에서 비교 사용 하시겠습니까?
- 4. ExpressQuantumTreeList와 Virtual Treeview를 비교 하시겠습니까?
- 5. 바이트를 16 진수로 비교 하시겠습니까?
- 6. 이미지를 비트 맵과 비교 하시겠습니까?
- 7. 숫자가 무한대로 평가되는지 어떻게 확인합니까?
- 8. 문자열을 테스트하여 숫자가 있는지 확인하고 숫자가 아닌 모든 값을 건너 뛰면서 변수에 값을 지정 하시겠습니까?
- 9. 이 표의 값 쌍이 고유한지 확인하려면 어떻게해야합니까?
- 10. 페이지보기가 고유한지 확인하는 쉬운 방법은 무엇입니까?
- 11. MySQL 행이 고유한지 확인하는 방법은 무엇입니까?
- 12. 전자 메일 주소가 시스템에 고유한지 확인하십시오.
- 13. Python/PyTables에서 레코드가 고유한지 확인하는 효율적인 방법
- 14. 큰 숫자가 이미 존재하는 경우 MySQL auto_increment를 재설정 하시겠습니까?
- 15. 열에 숫자가 포함 된 열 데이터를 전환 하시겠습니까?
- 16. Notepad ++ 설정하기 git에서 diff 도구로 비교 하시겠습니까?
- 17. Ruby에서 XML 문서 2 개를 비교 하시겠습니까?
- 18. 음성 단어를 오디오 파일과 어떻게 비교 하시겠습니까?
- 19. 자바 개체 비교 : 반사 사용 하시겠습니까?
- 20. 두 개의 후속 단어를 정규식과 비교 하시겠습니까?
- 21. 숫자가 적은 배열로보기?
- 22. 숫자가 거꾸로 표시됩니까?
- 23. BackgroundWorker 스레드의 숫자가 맞습니까?
- 24. 숫자가 완전하거나 소수인지를 결정하십시오.
- 25. 파이썬에서 숫자가 합리적인지 확인
- 26. 숫자가 아닌 인덱스의 성능
- 27. 숫자가 증가하지 않을 것입니다.
- 28. 숫자가 내림차순으로 오름차순
- 29. 숫자가 Java 문자열에 없습니다.
- 30. URL에 숫자가 아닌 문자
코드가 깨졌습니다.'sizeof' 트릭은 스택 할당 배열에서만 작동합니다.이 경우'int * array' 대신'int array []'를 전달해야합니다. C++을 사용한다면, 정말로 그 대신에'std :: vector'을 사용해야합니다. –
의견을 보내 주셔서 감사합니다. 네, 맞습니다, 내 코드가 깨졌고 이벤트 컴파일되지 않습니다 (a [i]는 array [i] 여야합니다). 그 정말로 늦었 던 (4AM) 나는 피곤하다. 또한 포인터의 배열 크기를 얻을 수있는 방법이 없으므로 1이 될 것이고, 예제로만 제공하기 위해 의도 된 것입니다 (실제로는 잘못된 것입니다). 벡터를 사용할 수는 있지만 질문은 배열에 관한 것이므로이 질문에 사용자가 숙제를하고 있다고 가정했습니다. 그러나, 나는 실례가 아닌 게시를위한 부정적인 투표를받을 가치가있다. :) – ludesign