랜덤 숫자 발생 후 입력 값 존재 유무 찾기

2024. 5. 29. 14:41정보처리,전산/Clang

반응형
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int v_cnt, v_a, v_chk = 0;

    // 랜덤 숫자 생성 초기화
    srand(time(0));

    // 사용자 입력 받기
    printf("생성할 숫자 개수 입력: ");
    scanf("%d", &v_cnt);
    printf("검색 숫자 입력: ");
    scanf("%d", &v_a);

    // 배열 동적 할당
    int* array_s = (int*)malloc(v_cnt * sizeof(int));
    if (array_s == NULL) {
        printf("메모리 할당 실패\n");
        return 1;
    }

    // 배열에 랜덤 숫자 할당 및 출력
    for (int i = 0; i < v_cnt; i++) {
        array_s[i] = rand() % v_cnt + 1; // 1부터 v_cnt 사이의 랜덤 숫자
        printf("%d, ", array_s[i]);
    }
    printf("\n");

    // 배열에서 숫자 검색
    for (int i = 0; i < v_cnt; i++) {
        if (array_s[i] == v_a) {
            v_chk = 1;
            printf("%d번째에서 숫자 %d를 발견\n", i + 1, v_a);
        }
    }

    // 숫자 발견 여부 출력
    if (v_chk == 0) {
        printf("숫자 발견하지 못함\n");
    }

    // 메모리 해제
    free(array_s);

    return 0;
}

 

 

  1. 랜덤 시드 초기화
    • srand(time(0));: rand 함수의 랜덤 시드를 현재 시간으로 초기화하여 매번 다른 랜덤 숫자를 생성한다
  2. 동적 메모리 할당
    • malloc을 사용하여 v_cnt 크기의 정수 배열을 동적 할당한다.
  3. 배열 초기화 및 출력
    • for 루프를 사용하여 배열의 각 요소에 1부터 v_cnt 사이의 랜덤 숫자를 할당하고 출력한다.
  4. 숫자 검색
    • 다시 for 루프를 사용하여 배열을 순회하면서 입력받은 검색 숫자가 배열에 있는지 확인하고, 발견된 경우 위치를 출력한다.
반응형

'정보처리,전산 > Clang' 카테고리의 다른 글

비트연산  (0) 2024.06.22
call by reference  (0) 2024.06.16
최빈값 구하기  (0) 2024.05.16
배열 포인터  (0) 2024.04.08
(함수의 구조, 선언) 1~100까지의 합, 구구단  (0) 2024.03.31