랜덤 숫자 발생 후 입력 값 존재 유무 찾기
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;
}
- 랜덤 시드 초기화
- srand(time(0));: rand 함수의 랜덤 시드를 현재 시간으로 초기화하여 매번 다른 랜덤 숫자를 생성한다
- 동적 메모리 할당
- malloc을 사용하여 v_cnt 크기의 정수 배열을 동적 할당한다.
- 배열 초기화 및 출력
- for 루프를 사용하여 배열의 각 요소에 1부터 v_cnt 사이의 랜덤 숫자를 할당하고 출력한다.
- 숫자 검색
- 다시 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 |