동적으로 할당 된 배열에 대한 이진 검색

Rbutler93

나는 재 지정된 파일에서 입력을 받고 현재 크기로 보유 할 수있는 것보다 더 많은 값을 넣으려고하면 성장할 것으로 예상되는 -999를 읽을 때까지 해당 파일의 정수를 동적 배열에 저장하는 프로그램을 작업 중입니다. .

나는 그 값을 찾은 위치와 찾는 데 걸린 비교 량을 반환하는 이진 검색을 수행하는 함수에 고정하고 있습니다.

그러나 실행하면 모든 빈 공간에서 0을 포함하여 배열의 모든 값을 얻습니다. 따라서 내 위치 변수와 비교 변수는 버려집니다. 하드 코딩 된 배열에서 완벽하게 작동하기 때문에 기능이 아닙니다.

제 질문은 배열의 해당 부분을 제거하는 방법이 있습니까? 감사합니다

int var;
int counter = 0;

int *orgarr;
int size = 10;
orgarr = (int *) malloc (size * sizeof(int) );


int *tempo;
tempo = (int *) malloc (size * 2 * sizeof(int));
int i;
for ( i = 0 ; i < size ; i++)
    tempo[i] = orgarr[i];
    free (orgarr);
orgarr = tempo;
size = size * 2;

while (var != -999) {
    scanf("%i", &var);
    if (var != -999){
    orgarr[counter] = var;
    }
    counter++;
}

for (i = 0; i < size; i++) {
    printf("%i", orgarr[i]);
}
user3121023

realloc을 사용하여 배열의 크기를 변경할 수 있습니다.
포인터가 NULL로 설정되면 realloc은 첫 번째 메모리 할당에서 malloc과 동일하게 작동합니다.
"% d"사용을 고려하십시오. 08과 같이 앞에 0이있는 값이 있으면 "% i"는이 값을 8 진수 값으로 읽으려고합니다. 08의 경우 실패하고 011은 9로 읽습니다. 그러나 실제로 8 진수 값이있는 경우 "% i"를 계속 사용하고 싶을 것입니다.
이것은 각 입력에 재 할당됩니다. counter변수를 사용하여 한 번에 10을 재 할당하거나 필요에 따라 할당을 두 배로 늘릴 수 있습니다.
10,000을 할당하여 시작한 다음 모든 입력을 읽은 후 올바른 크기로 재 할당 할 수도 있습니다.

int var = 0;
int size = 0;
int *tempo = NULL;
int *orgarr = NULL;
while ( ( scanf ( "%d", &var)) == 1) {//invalid input or EOF will end loop
    if ( var != -999) {
        size++;
        tempo = realloc ( orgarr, size * sizeof ( int));
        if ( tempo) {
            orgarr = tempo;
            orgarr[size - 1] = var;
        }
        else {
            //realloc failed
            // return or break but somehow handle the problem
        }
    }
    else {
        break;//read -999
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동적으로 할당 된 배열에 대한 이진 검색

분류에서Dev

C에서 동적으로 할당 된 2D 문자 배열을 채우는 동안 이상한 동작

분류에서Dev

Microsoft Word 2010에서 추적 된 변경 사항에 대한 페이지 번호 목록을 자동으로 검색 할 수 있습니까?

분류에서Dev

동적 배열 C에 대한 잘못된 할당

분류에서Dev

새로 할당 된 배열에 대한 배열 끝점 C ++

분류에서Dev

동적으로 할당 된 배열과 정적 배열의 차이점

분류에서Dev

구조체 C ++에 대한 포인터를 사용하여 동적으로 할당 된 배열 만들기

분류에서Dev

C-realloc없이 stdin에 대해 동적으로 배열 할당

분류에서Dev

C-realloc없이 stdin에 대해 동적으로 배열 할당

분류에서Dev

배열에서 동적으로 생성 된 버튼에 대한 OnClick 이벤트

분류에서Dev

C에서 동적으로 할당 된 문자열 배열

분류에서Dev

동적으로 할당 된 배열에 문자열 쓰기

분류에서Dev

동적으로 추가 된 데이터에 대해 DataTables 검색 및 정렬이 작동하지 않음

분류에서Dev

동적으로 생성 된 행에 대해 검색이 작동하지 않습니다.

분류에서Dev

C ++에서 동적으로 할당 된 배열

분류에서Dev

동적으로 할당 된 배열의 요소에 액세스

분류에서Dev

동적으로 할당 된 char 배열이있는 C ++ 구조체

분류에서Dev

문자열에 대한 이진 검색

분류에서Dev

수동으로 할당 된 색상이있는 플롯 된 선에 대한 Python matplotlib 사용자 정의 컬러 바

분류에서Dev

동적 이미지 src 할당을위한 적절한 경로 검색

분류에서Dev

동일한 키로 지정된 배열에서 값 검색

분류에서Dev

CSS 인라인 블록에 대해 동적으로 생성 된 HTML 검색 결과 사이의 공백 제거

분류에서Dev

CSS 인라인 블록에 대해 동적으로 생성 된 HTML 검색 결과 사이의 공백 제거

분류에서Dev

부동 소수점 수에 대한 이진 검색 / 이분법

분류에서Dev

값에 대한 다차원 배열 검색, 값이 없으면 배열 제거

분류에서Dev

첨자 배열에 대한 할당이 작동하고 역 참조 된 포인터 산술 표현식에 할당되는 이유는 무엇입니까?

분류에서Dev

JSON으로 검색된 서버의 데이터에 대한 검색 필터 구현

분류에서Dev

동적 및 정적으로 할당 된 배열 요소 계산?

분류에서Dev

병합 정렬 C ++ 도움말 병합 된 숫자에 대한 임시 배열을 동적으로 할당합니다.

Related 관련 기사

  1. 1

    동적으로 할당 된 배열에 대한 이진 검색

  2. 2

    C에서 동적으로 할당 된 2D 문자 배열을 채우는 동안 이상한 동작

  3. 3

    Microsoft Word 2010에서 추적 된 변경 사항에 대한 페이지 번호 목록을 자동으로 검색 할 수 있습니까?

  4. 4

    동적 배열 C에 대한 잘못된 할당

  5. 5

    새로 할당 된 배열에 대한 배열 끝점 C ++

  6. 6

    동적으로 할당 된 배열과 정적 배열의 차이점

  7. 7

    구조체 C ++에 대한 포인터를 사용하여 동적으로 할당 된 배열 만들기

  8. 8

    C-realloc없이 stdin에 대해 동적으로 배열 할당

  9. 9

    C-realloc없이 stdin에 대해 동적으로 배열 할당

  10. 10

    배열에서 동적으로 생성 된 버튼에 대한 OnClick 이벤트

  11. 11

    C에서 동적으로 할당 된 문자열 배열

  12. 12

    동적으로 할당 된 배열에 문자열 쓰기

  13. 13

    동적으로 추가 된 데이터에 대해 DataTables 검색 및 정렬이 작동하지 않음

  14. 14

    동적으로 생성 된 행에 대해 검색이 작동하지 않습니다.

  15. 15

    C ++에서 동적으로 할당 된 배열

  16. 16

    동적으로 할당 된 배열의 요소에 액세스

  17. 17

    동적으로 할당 된 char 배열이있는 C ++ 구조체

  18. 18

    문자열에 대한 이진 검색

  19. 19

    수동으로 할당 된 색상이있는 플롯 된 선에 대한 Python matplotlib 사용자 정의 컬러 바

  20. 20

    동적 이미지 src 할당을위한 적절한 경로 검색

  21. 21

    동일한 키로 지정된 배열에서 값 검색

  22. 22

    CSS 인라인 블록에 대해 동적으로 생성 된 HTML 검색 결과 사이의 공백 제거

  23. 23

    CSS 인라인 블록에 대해 동적으로 생성 된 HTML 검색 결과 사이의 공백 제거

  24. 24

    부동 소수점 수에 대한 이진 검색 / 이분법

  25. 25

    값에 대한 다차원 배열 검색, 값이 없으면 배열 제거

  26. 26

    첨자 배열에 대한 할당이 작동하고 역 참조 된 포인터 산술 표현식에 할당되는 이유는 무엇입니까?

  27. 27

    JSON으로 검색된 서버의 데이터에 대한 검색 필터 구현

  28. 28

    동적 및 정적으로 할당 된 배열 요소 계산?

  29. 29

    병합 정렬 C ++ 도움말 병합 된 숫자에 대한 임시 배열을 동적으로 할당합니다.

뜨겁다태그

보관