본문 바로가기

반응형

array

(24)
[자료구조] 1차원 배열(Array) 배열은 같은 자료형을 가진 자료들을 나열하여 메모리에 연속으로 저장하여 만든 자료 그룹이다. 모든 자료형은 배열로 표현이 가능하고 배열의 요소를 간단하게 구별하게 위해 인덱스(Index) 번호를 사용하며, C에서 인덱스는 '0'부터 시작한다. ​ 1. 배열 선언 ​ 자료형: 배열의 요소는 모두 자료형이 같아야 한다. 배열 이름: 변수 이름 설정과 같다. 배열 개수: 대괄호([])를 사용하며, 배열 요소의 개수가 배열의 크기이다. 이때 메모리에 배열이 저장되는 공간이 할당되고, 그 크기는 '자료형 크기 × 배열 요소 개수'이다. ​ 자료형 배열이름[배열개수]; int arr[10]; // 정수형 요소 10개로 구성된 배열 arr // 크기 = 4byte(int 자료형) × 10(배열 요소 개수) 자료형이 ..
[C언어] String Array #include void printStrings1(char (*arr)[20], int size){ for(int i = 0; i < size; ++i){ printf("%s\n", &arr[i][0]); // &arr[i][0] == arr[i] } } void printStrings2(char **arr, int size){ for(int i = 0; i < size; ++i){ printf("%s\n", arr[i]); // arr[i] == &arr[i][0] } } int main(void){ char cities1[][20]={ "Seoul", "Los Angeles", "Rio de Janeiro", "Moscow", "Paris" }; char *cities2[] = { "Seoul", "..
[C언어] 실습: Lotto 번호 무작위 추첨하는 프로그램 구현하기 2 (1~45까지의 번호를 섞은 후, 차례로 7개의 숫자를 뽑아 Lotto 번호 결정하기) Lotto 번호 무작위 추첨하는 프로그램 구현하기 2 (1~45까지의 번호를 섞은 후, 차례로 7개의 숫자를 뽑아 Lotto 번호 결정하기) #include #include #include int main(void){ int lotto[45]; srand(time(NULL)); // seed 값을 변경해준다. (현재시간(초)을 리턴해준다) for(int i = 0; i < 45; ++i) lotto[i] = i + 1; // lotto[] 배열에 1 ~ 45의 숫자를 차례로 저장한다. for(int i = 0; i < 10000; ++i){ // lotto[45]에 저장된 45개의 값들을 섞는다. int index1 = rand() % 45; // 서로 값을 교환할 index의 값을 rand()로 뽑아낸..
[C언어] 배열(Array)과 포인터(Pointer) 2 #include int main(void){ int nums[] = {1, 2, 3, 4, 5}; int *p; p = nums; printf("nums[i] :\n"); for(int i = 0; i < 5; ++i) printf("%d ", nums[i]); printf("\n"); printf("*(nums + i) :\n"); for(int i = 0; i < 5; ++i) printf("%d ", *(nums + i)); printf("\n"); printf("*(p + i) :\n"); for(int i = 0; i < 5; ++i) printf("%d ", *(p + i)); printf("\n"); printf("p[i] :\n"); for(int i = 0; i < 5; ++i) prin..
[C언어] 실습: 배열에서 같은 값 찾기 배열에서 같은 값 찾기 #include int main(void){ int i; int nums[] = {50, 30, 100, 10, 60, 40, 70, 80, 90, 20}; int num; printf("num : "); scanf("%d", &num); for(i = 0; i < 10; ++i){ if(num == nums[i]) // 입력한 숫자가 nums[] 배열안에 저장되어 있으면, break; // for 문을 빠져나온다. } if(i < 10) // for 문을 빠져나왔을 때 i가 10보다 작다면, 입력한 숫자가 배열안에 존재한다. printf("fount! index : %d\n", i); else printf("not found!\n"); return 0; }
[C언어] 실습: 배열에 저장된 정수의 합 출력하기 배열에 저장된 정수의 합 출력하기 #include void add(int *arr, int *sum); int main(){ int arr[5] = {1, 2, 3, 4, 5}; int sum = 0; add(arr, &sum); // arr[]는 배열이기 때문에 첫번째 element의 주소값을 가지고 있다. printf("합 : %d\n", sum); return 0; } void add(int *arr, int *sum){ for(int i = 0; i < 5; ++i){ *sum += arr[i]; } }
[C언어] 실습: 신입사원의 이름, 학점, 토익점수를 입력하여 엘리트 사원 데이터 출력하기 신입사원의 이름, 학점, 토익점수를 입력하여 엘리트 사원 데이터 출력하기 1. 신입사원의 수는 5명으로 하고, 구조체 배열을 선언한다. 2. 구조체 배열의 데이터는 키보드를 통해 입력받는다. 3. 엘리트 사원의 조건은 학점 4.0 이상, 토익점수 900점 이상인 사원을 의미한다. 4. 기타 조건은 일반적인 프로그램의 흐름에 맞게 구현한다. #include typedef struct profile{ char name[10]; double grade; int toeic; } Profile; int main(){ Profile new[5]; for(int i = 0; i < 5; ++i){ printf("[%d 신입사원 정보]\n", i + 1); printf("이름 : "); scanf("%s", &new[..
[C언어] 실습: 입력받은 숫자가 배열에 저장되어 있는지 확인하기 입력받은 숫자가 배열에 저장되어 있는지 확인하기 #include int main(){ int arr[5] = {1, 2, 3, 4, 5}; // 크기 5의 배열을 생성하여 초기화한다. int num; int index = -1; // 입력한 값이 arr[]에 있는지 확인하기 위해, index 값은 arr[]에 초기화되지 않은 값으로 저장한다. printf("num : "); scanf("%d", &num); // 값을 입력받아 변수 num에 저장한다. for(int i = 0; i < 5; ++i){ // arr[] 배열의 for 문을 돌며, if(num == arr[i]) // 입력한 num의 값이 arr[] 배열에 저장되어 있으면 index = i; // 해당하는 index의 값을 저장한다. } if..

반응형