반응형
rand() 함수를 이용하여 x, y 좌표값 출력하기
#include<stdio.h>
#include<string.h>
#include<stdlib.h> // rand()
#include<time.h> // time()
typedef struct point{
int x;
int y;
} Point;
void set_point(Point *pArr, int x, int y);
void print_point(const Point *pArr);
int main(){
Point arr[5] = {0}; // Point 구조체의 변수 arr[]를 선언하고, index를 모두 0으로 초기화 해준다.
int size = sizeof(arr) / sizeof(arr[0]); // 구조체 변수 arr[]에서 하나의 index 크기는 int x와 int y때문에 8byte이다.
srand((unsigned int)time(NULL)); // 난수 발생 시 시간차가 없으면 똑같은 난수가 생성되기 때문에, 난수의 시드값을 time(NULL) 단위로 변경한다.
for(int i = 0; i < size; ++i){
int x = rand() % 100; // 0 ~ 100 사이의 난수를 생성한다.
int y = rand() % 100;
set_point(&arr[i], x, y); // 구조체 Point의 변수 arr[]의 멤버 변수 x, y의 값에 저장하기 위해 배열의 주소값을 인자로 전달한다.
}
for(int i = 0; i < size; ++i){
print_point(&arr[i]);
}
return 0;
}
void set_point(Point *pArr, int x, int y){
pArr->x = x;
pArr->y = y;
}
void print_point(Point *pArr){
printf("(%d, %d)\n", pArr->x, pArr->y);
}
반응형
'C' 카테고리의 다른 글
[C언어] time(NULL) (0) | 2021.06.07 |
---|---|
[C언어] 난수 생성 함수 (0) | 2021.06.04 |
[C언어] 실습: 신입사원의 이름, 학점, 토익점수를 입력하여 엘리트 사원 데이터 출력하기 (1) | 2021.05.31 |
[C언어] 실습: 입력받은 문자열을 저장하고, 출력하는 프로그램 구현하기 (0) | 2021.05.27 |
[C언어] 구조체 안에서 다른 구조체를 멤버 변수로 가질 수 있다. (0) | 2021.05.26 |