2025/04/08 7

배열, 변수(전역, 지역), 함수

배열은 다음과 같은 형태로 선언 된다.int arr[12] = {0,};여기서 int는 배열에 있는 값의 타입이고, 12는 배열의 길이이다. 그리고 arr은 배열의 이름이다.뒤에 있는 {0, }는 배열을 0으로 채우라는 의미이다.(또는 {0, 1, 2, 3}처럼 지정할 수도 있다.)지역 변수는 main안 에서 사용하는 변수처럼 어떤 중괄호 안에서 선언된 변수이다. 이는 변수가 선언된 중괄호 내에서는 호출할 수 있지만, 중괄호가 닫히면 호출할 수 없다.int main(){ int test = 0; //여기까지는 test를 호출할 수 있음}//여기 부터는 test를 호출할 수 없음반대로 전역 변수는 다른 함수에서도 호출할 수 있으며, main함수 밖 #include를 사용하는 부분 쪽에서 주로 선언 된..

C, C++ 2025.04.08

2차원 배열 이동 문제

2차원 배열로 15x15 짜리 판을 하나 만들고, 0으로 전부 초기화 한 후, 정 가운데 부분만 1로 둡니다.(체스에서 말을 둔다고 생각)그리고 숫자를 0이 입력될 때 까지 입력받고, 1을 입력할시 오른쪽으로, 2를 입력할시 아래로, 3을 입력할 시 왼쪽으로, 4를 입력할 시 위쪽으로 한칸씩 이동하고, 이동 할 때마다 이동한 판을 출력하는 코드를 작성하세요. (범위 밖으로 나가는건 처리하지 않아도 됩니다)조건) 이동하는 코드, 출력하는 코드는 모두 함수로 작성합니다.이 문제에서는 전역 변수로 array를 선언하면 편하기 때문에, {{0, }, {0, } (생략)}형식으로 초기화 했다.int arr[15][15] = {{0,}, {0,}, {0,}, {0,}, {0,}, {0,}, {0,}, {0,}..

기타 2025.04.08

10871번, X보다 작은 수

https://www.acmicpc.net/problem/10871이 문제는 n개로 이루어진 수열 a와 정수 x를 주고, a에서 x보다 작은 수를 전부 출력하는 문제이다.기본 입출력 라이브러리인 stdio.h를 불러온다.#include 배열과, n, x를 생성하고int arr[10000];int n, x;scanf로 n과 x를 입력받는다.scanf("%d %d", &n, &x);for 문으로 배열을 입력받는다.for (int i = 0; i 그 후, x보다 작은 것들을 for 문으로 출력한다.for (int i = 0; i 전체 코드#include int main(){ int arr[10000]; int n, x; scanf("%d %d", &n, &x); for (int i = 0..

10807번, 개수 세기

https://www.acmicpc.net/problem/10807이 문제는 N개의 정수가 주어지면, 정수 v가 몇 개인지 구하는 프로그램이다.입출력 라이브러리인 stdio.h를 불러온다.#include 배열을 생성하고, n과 v, num를 생성한다.int arr[100];int n, v, num = 0;scanf로 n을 입력받고scanf("%d", &n);for 문으로 array를 입력받는다.for (int i = 0; i 이후 v를 입력받고scanf("%d", &v);for 문으로 배열에서 v와 일치하는 값의 수를 구한다.for (int i = 0; i 최종 코드#include int main(){ int arr[100]; int n, v, num=0; scanf("%d", &n); ..

1546번, 평균

https://www.acmicpc.net/problem/1546이 문제는 입력받은 점수중 최댓값은 산출하고, 다른 점수를 원점수/최댓값*100으로 변환한 후 평균을 구하는 문제이다. 이른 통해 최고점이 70이고 다른 한 과목이 50점이면, 그 과목은 71.43점이 된다.우선 기본 라이브러리를 불러온다.#include 그 다음 과목의 수를 입력받는다.int n;scanf("%d", &n);이제 for문에서 과목을 배열 형태로 입력 받고, 삼항 연산자로 최댓값을 산출한다.int arr[100];int m = -1;for (int i = 0; i arr[i])? m : arr[i];}이제 for문으로 원점수/최댓값*100으로 변환하여 평균을 구한다. double s = 0;for (int i = 0; i ..