Small Grey Outline Pointer 'Dev.' 카테고리의 글 목록 (19 Page)
본문 바로가기

Dev.218

배열과 포인터 종합문제 #include //100개 이하의 정수 입력 받아 첫 줄에 짝수번째 숫자 순서대로 출력 //다음줄에 홀수번째 숫자들 순서대로 출력하기 void main() { int num; int arr[105]; scanf_s("%d", &num); for (int i = 0; i < num; i++) { scanf_s("%d", &arr[i]); } for (int i = 1; i < num; i+=2) { //짝수 출력하기 { printf("%d ", arr[i]); } } printf("\n"); for (int i = 0; i < num; i+=2) { //홀수 출력하기 { printf("%d ", arr[i]); } } printf("\n"); } 5 2 4 1 3 5 #include void main().. 2022. 3. 27.
포인터 배열과 배열 포인터 포인터 배열과 배열 포인터 포인터 "배열" -정수형 배열: 정수형 변수들을 묶어놓은 묶음 -실수형 배열: 실수형 변수들을 묶어놓은 묶음 배열 "포인터" -정수형 포인터: 정수형 변수의 주소를 저장하는 포인터 -실수형 포인터: 실수형 변수의 주소를 저장하는 포인터 자료형*포인터 배열명[크기]; int * score[3]; 자료형(*배열포인터명)[크기]; int (*score)[3]; #include void main() { int a = 10, b = 20, c = 30; int* ar[3]; ar[0] = &a; ar[1] = &b; ar[2] = &c; for (int i = 0; i < 3; i++) { printf("ar[%d]: %d\n", i, *ar[i]); } *ar[0] = 100; pri.. 2022. 3. 27.
포인터와 함수의 관계/call by value/call by reference #include void main() { int x = 10 , y = 20; printf("x: %d, y:%d\n", x, y); x = y; y = x; printf("x: %d, y:%d\n", x, y); //이렇게 하면 내가 원하는 값의 교환이 이뤄지지 않는다, x값이 덮어 씌워 지기 때문 } x: 10, y:20 x: 20, y:20 #include void main() { int x = 10 , y = 20; int temp; printf("x: %d, y:%d\n", x, y); temp = x; x = y; y = temp; printf("x: %d, y:%d\n", x, y); } x: 10, y:20 x: 20, y:10 #include void swap(int, int); void.. 2022. 3. 27.
baekjoon c++ 2839 설탕배달/ 그리디 알고리즘 3과 5로 나누어질 때만 잘 출력됐고 3kg, 5kg 봉지를 같이 사용해야 할 때는 출력이 안되서 계속 막혔다 구글링해서 다시 풀어봤다 맨처음에 풀었던 방식 #include void main() { int N; int a, b=0; int sum = 0; int cnt3; int cnt5; scanf_s("%d", &N); while (1) { if (N % 3 == 0 || N % 5 == 0) { if (N % 3 == 0) { cnt3 = N / 3; printf("%d\n", cnt3); break; } else if (N % 5 == 0) { cnt5 = N / 5; printf("%d\n", cnt5); break; } } else { N = a + b; cnt3 = N / 3; cnt5 = .. 2022. 3. 26.
baekjoon c++ 3052 나머지 구하기/ 1차원배열 int arr[1001]; //global 변수 설정, void main() { int n; for (int i = 0; i 0) cnt++; } printf("%d", cnt); } void main() { int result = 0; int arr[10]; //입력 받은 10개의 정수 for (int i = 0; i < 10; i++) { scanf_s("%d", &arr[i]); arr[i] = arr[i] % 42; //42로 나눈 나머지 값으로 다시 저장 } for (i.. 2022. 3. 26.
visual studio 디버깅 하기 Debug x64 확인 후 디버깅 하기 전체 중단점 해제 ctrl+shift+F9 F10을 누르면 순서대로 내려가면서 코드를 실행 시킨다 콘솔창에 한줄씩 진행 됨 2022. 3. 26.
baekjoon c++ 2577 숫자의 개수/ 1차원 배열 abc를 전부 곱한 값을 자릿수 마다 하나씩 반복해야 함 0~9 => arr[10] 배열을 만든다 인덱스 번호에 인덱스 번호와 같은 숫자를 카운트 한다 #include void main() { int a, b, c; int arr[10]={0, }; //1~9까지의 숫자를 배열에 담기 int mul; int num; int cnt=0; scanf_s("%d\n%d\n%d", &a, &b, &c); mul = a * b * c; while (mul > 0) //값이 0이 될 때 까지 반복 { num = mul % 10; //10으로 나눴을 때의 나머지= 1의 자리 숫자 arr[num]++; //1의 자리에 해당 되는 숫자와 인덱스 번호를 일치하게 만들기 mul /= 10; //10으로 나눈 몫에 해당하는 .. 2022. 3. 26.
baekjoon c++ 2562 최댓값/ 1차원 배열 #include //2562번 int main() { int i=0; int index; int max = 0; int arData[9]; for (int i = 0; i < 9; i++) { scanf("%d", arData+i); if (max < arData[i]) { max = arData[i]; index = i; } } printf("%d\n%d", max, index+1); } for문으로 9번 반복하고 최댓값과 인덱스가 몇번째에 있는지 찾기 인덱스는 0부터 시작하므로 출력할 때 +1을 해줘야 1번째 2번째 순서로 찾을수 있다 2022. 3. 25.
baekjoon c++ 11720 숫자의 합(문자열) 11654 ASCII 코드 #include int main() { char N=' '; scanf("%s", &N); printf("%d", N); } 11720 #include #include //문자열 int main() { int n=0; int sum = 0; char arr[100]; //숫자 배열 만들기 scanf("%d", &n); scanf("%s", &arr); //문자열 입력 받기 %s for(int i=0; i 2022. 3. 25.
포인터의 목적/메모리의 동적 할당 포인터: 주소값 -포인터 변수: 주소를 담는 변수 -포인터 상수: 주소를 담는 상수(배열) & : 주소 연산자(번지 연산자) 자료형* : 포인터 연산자 *주소값 : 참조 연산자 #include void main() { int data = 10; int* pData = &data; //int*포인터연산자 printf("%d\n", *pData); // *pData참조연산자 *pData = 20; printf("%d\n",data); } #include //5개의 정수를 입력받고 최소값과 최대값을 구해주는 함수 //포인터를 사용하여, 리턴을 받지 않아도 값이 출력 되도록 void getMaxAndMin(int arData[], int*max, int*min) { *max = arData[0]; *min = .. 2022. 3. 25.