컴퓨터 언어
-
일단, count함수는 algorithm에 존재하므로 사용하기 위해서는 상단부에 #include 을 반드시 적어야 한다. 일차원 배열일 경우에는 되게 단순하게 하면 된다. count(배열의 시작지점, 배열의 끝나는 지점, 원하는 숫자) 예를 들어 arr[10]에서 3의 숫자를 센다고 하자 그러면 count(arr, arr + 10, 3)를 사용하면 된다. 단, 다차원배열의 경우에는 이와는 조금 사용법이 다른데 count(&배열의 시작지점, &배열의 시작지점 + 데이터 수, 원하는 숫자) 예를 들어 arr[10][10]에서 3의 숫자를 센다고 하자 그러면 count(&arr[0][0], &arr[0][0] + 100, 3)를 사용하면 된다. 벡터의 경우에는 너무 간단한데 그냥 count(r.begin(),..
[c++] 배열에서 해당 원소의 갯수를 찾는 함수 (count)일단, count함수는 algorithm에 존재하므로 사용하기 위해서는 상단부에 #include 을 반드시 적어야 한다. 일차원 배열일 경우에는 되게 단순하게 하면 된다. count(배열의 시작지점, 배열의 끝나는 지점, 원하는 숫자) 예를 들어 arr[10]에서 3의 숫자를 센다고 하자 그러면 count(arr, arr + 10, 3)를 사용하면 된다. 단, 다차원배열의 경우에는 이와는 조금 사용법이 다른데 count(&배열의 시작지점, &배열의 시작지점 + 데이터 수, 원하는 숫자) 예를 들어 arr[10][10]에서 3의 숫자를 센다고 하자 그러면 count(&arr[0][0], &arr[0][0] + 100, 3)를 사용하면 된다. 벡터의 경우에는 너무 간단한데 그냥 count(r.begin(),..
2020.10.11 -
일단, memcpy함수는 algorithm에 존재하므로 사용하기 위해서는 상단부에 #include 을 반드시 적어야 한다. 일차원 배열일 경우에는 되게 단순하게 하면 된다. copy(복사할 배열의 시작지점, 복사할 배열의 끝나는 지점, 복사될 배열의 시작하는 지점) 예를 들어 arr[10]을 arr_copy[10]에 옮긴다고 하자 그러면 copy(arr, arr + 10, arr_copy)를 사용하면 된다. 단, 다차원배열의 경우에는 이와는 조금 사용법이 다른데 copy(&복사할 배열의 시작지점, &복사할 배열의 시작지점 + 데이터 수, &복사될 배열의 시작지점) 예를 들어 arr[10][10]을 arr_copy[10][10]에 옮긴다고 하자 그러면 copy(&arr[0][0], &arr[0][0] + ..
[c++] 배열을 복사하는 함수 (copy)일단, memcpy함수는 algorithm에 존재하므로 사용하기 위해서는 상단부에 #include 을 반드시 적어야 한다. 일차원 배열일 경우에는 되게 단순하게 하면 된다. copy(복사할 배열의 시작지점, 복사할 배열의 끝나는 지점, 복사될 배열의 시작하는 지점) 예를 들어 arr[10]을 arr_copy[10]에 옮긴다고 하자 그러면 copy(arr, arr + 10, arr_copy)를 사용하면 된다. 단, 다차원배열의 경우에는 이와는 조금 사용법이 다른데 copy(&복사할 배열의 시작지점, &복사할 배열의 시작지점 + 데이터 수, &복사될 배열의 시작지점) 예를 들어 arr[10][10]을 arr_copy[10][10]에 옮긴다고 하자 그러면 copy(&arr[0][0], &arr[0][0] + ..
2020.10.11 -
python의 경우에는 바로 sort함수를 쓸 수 있는 것과 달리 (Built in function이므로) c++의 경우에는 sort함수가 algorithm 헤더 안에 속해 있으므로 이를 사용하기 위해서는 초반부에 반드시 algorithm을 선언해주어야 한다. 위 함수에서의 인자는 다음과 같다. sort(시작지점의 주소, 끝나는 지점의 주소, (정렬의 기준)) 예를 들어 5칸짜리 int형 배열 test을 첫번째에서 3번째 인자만 정렬하고 싶다면 sort(test, test + 3)를 해주면 된다. 단, 끝나는 지점은 열린구간이므로 그 주소는 포함하지 않는다. 마지막 인자인 정렬의 기준의 경우에는 반드시 포함될 필요는 없으나, 일반적인 기준인 오름차순으로 정렬하지 않는다면 삽입해주어야 한다. 이를 위해서는..
[c++] Sort 함수를 활용하여 정렬하기python의 경우에는 바로 sort함수를 쓸 수 있는 것과 달리 (Built in function이므로) c++의 경우에는 sort함수가 algorithm 헤더 안에 속해 있으므로 이를 사용하기 위해서는 초반부에 반드시 algorithm을 선언해주어야 한다. 위 함수에서의 인자는 다음과 같다. sort(시작지점의 주소, 끝나는 지점의 주소, (정렬의 기준)) 예를 들어 5칸짜리 int형 배열 test을 첫번째에서 3번째 인자만 정렬하고 싶다면 sort(test, test + 3)를 해주면 된다. 단, 끝나는 지점은 열린구간이므로 그 주소는 포함하지 않는다. 마지막 인자인 정렬의 기준의 경우에는 반드시 포함될 필요는 없으나, 일반적인 기준인 오름차순으로 정렬하지 않는다면 삽입해주어야 한다. 이를 위해서는..
2020.09.05 -
Python에서는 2의 3승을 그냥 쉽게 2 ** 3으로 나타낼 수 있지만, c++의 경우에는 그러한 방식으로는 제곱승을 처리할 수 없다. 따라서 c++에서는 함수를 활용하여 제곱승의 값을 처리해야 하는데 이를 위해서는 pow 함수를 활용해주면 된다. 반면 제곱근을 구하기 위해서는 두 언어 모두 sqrt 함수를 이용해야한다는 점에서는 공통적이다. 각각의 함수에 대해서 알아보도록 하겠다. 1. pow 함수 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, pow(밑, 진수)를 활용해서 호출해 주면 된다. 2. sqrt 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, sqrt(제곱근을 구할 수)를 활용해서 호출해 주면 된다. 이 중, pow 함수를 활용한 문제를 살펴보도록 하겠다. #incl..
[c++] 제곱 및 제곱근을 활용해보기 (pow, sqrt 함수)Python에서는 2의 3승을 그냥 쉽게 2 ** 3으로 나타낼 수 있지만, c++의 경우에는 그러한 방식으로는 제곱승을 처리할 수 없다. 따라서 c++에서는 함수를 활용하여 제곱승의 값을 처리해야 하는데 이를 위해서는 pow 함수를 활용해주면 된다. 반면 제곱근을 구하기 위해서는 두 언어 모두 sqrt 함수를 이용해야한다는 점에서는 공통적이다. 각각의 함수에 대해서 알아보도록 하겠다. 1. pow 함수 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, pow(밑, 진수)를 활용해서 호출해 주면 된다. 2. sqrt 사용방법은 다음과 같다. cmath를 헤더에 호출해주고, sqrt(제곱근을 구할 수)를 활용해서 호출해 주면 된다. 이 중, pow 함수를 활용한 문제를 살펴보도록 하겠다. #incl..
2020.08.28 -
일반적으로 c++의 경우에는 cin을 활용하여 문자를 받아들이게 되는데, 이 경우에는 scanf와 마찬가지로 공백을 기준으로 자른다. 즉, tab, 띄어쓰기, 엔터등이 올 때까지 문자를 받아들인 뒤 공백이 등장하면 공백 전까지를 저장시킨다. (앞의 글에서 언급한 것처럼 buffer에는 이들의 정보가 남아있다.) 따라서 일반적으로 띄어쓰기도 하나의 문자열의 정보로 받아들이기 위해서는 위의 방식처럼 활용할 수 없다는 것을 알 수 있다. 그래서 사용하게 되는 함수가 getline이다. c++에서는 일반적으로 string 자료형을 사용하기 때문에, 원래는 getline함수가 2가지이지만 string 자료형을 사용하는 케이스만을 다루도록 하겠다. 사용하는 방법은 getline(cin, 정보를 받을 string t..
[c++] 공백이 포함된 문자열의 입력 활용예제일반적으로 c++의 경우에는 cin을 활용하여 문자를 받아들이게 되는데, 이 경우에는 scanf와 마찬가지로 공백을 기준으로 자른다. 즉, tab, 띄어쓰기, 엔터등이 올 때까지 문자를 받아들인 뒤 공백이 등장하면 공백 전까지를 저장시킨다. (앞의 글에서 언급한 것처럼 buffer에는 이들의 정보가 남아있다.) 따라서 일반적으로 띄어쓰기도 하나의 문자열의 정보로 받아들이기 위해서는 위의 방식처럼 활용할 수 없다는 것을 알 수 있다. 그래서 사용하게 되는 함수가 getline이다. c++에서는 일반적으로 string 자료형을 사용하기 때문에, 원래는 getline함수가 2가지이지만 string 자료형을 사용하는 케이스만을 다루도록 하겠다. 사용하는 방법은 getline(cin, 정보를 받을 string t..
2020.08.28 -
c++에서는 문자열 관련된 라이브러리가 cstring 그리고 string 두 종류가 있다. null문자로 끝나는 char* 형식을 따르는 C언어 방식의 문자열 라이브러리(cstring)와 std::string을 따르는 라이브러리(string) 이렇게 두 개요! 문자열을 처리하는 방법이 두 가지가 되면서 그 방법에 따라 getline()함수도 두 종류가 존재하게 된겁니다. 즉 각 getline()함수는 문자열을 처리하는 방식이 달라요. istream 라이브러리에 속해있는 getline()함수는 뒤에 '/0'이 붙는 char* 형식 즉 클래직한 C언어 문자열을 따르는 입력 방법입니다. 반면에 string 라이브러리에 속해있는 getline()함수는 std::string 방식으로 동작해요 ㅎㅎ 그래서 인자를 ..
[c++] 공백이 포함된 문자열의 입력(getline 함수)c++에서는 문자열 관련된 라이브러리가 cstring 그리고 string 두 종류가 있다. null문자로 끝나는 char* 형식을 따르는 C언어 방식의 문자열 라이브러리(cstring)와 std::string을 따르는 라이브러리(string) 이렇게 두 개요! 문자열을 처리하는 방법이 두 가지가 되면서 그 방법에 따라 getline()함수도 두 종류가 존재하게 된겁니다. 즉 각 getline()함수는 문자열을 처리하는 방식이 달라요. istream 라이브러리에 속해있는 getline()함수는 뒤에 '/0'이 붙는 char* 형식 즉 클래직한 C언어 문자열을 따르는 입력 방법입니다. 반면에 string 라이브러리에 속해있는 getline()함수는 std::string 방식으로 동작해요 ㅎㅎ 그래서 인자를 ..
2020.08.28 -
c++에만 존재하는 String자료형의 경우 concat(이어붙이기)가 가능하다. python과 마찬가지로 string에 대해 덧셈을 하면 문자열을 자동적으로 이어서 연결해준다. 해당하는 내용을 이용하여 문제를 풀면 다음과 같다. #include #include #include using namespace std; int main(void){ int how_many_repeat; cin >> how_many_repeat; string string_store[how_many_repeat]; for(int i = 0; i > repeat_value >> input_string; int ..
[c++] String 자료형은 덧셈(Concat)이 가능하다.c++에만 존재하는 String자료형의 경우 concat(이어붙이기)가 가능하다. python과 마찬가지로 string에 대해 덧셈을 하면 문자열을 자동적으로 이어서 연결해준다. 해당하는 내용을 이용하여 문제를 풀면 다음과 같다. #include #include #include using namespace std; int main(void){ int how_many_repeat; cin >> how_many_repeat; string string_store[how_many_repeat]; for(int i = 0; i > repeat_value >> input_string; int ..
2020.08.27 -
일반적으로 배열을 초기화 할 때, 일부만 채워넣은 경우에는 나머지는 0으로 초기화 된다. 다만, 문제 상황에 따라서 초기값이 0이 아니라 다른 숫자가 나와야 하는 경우에는 fill함수나 fill_n 함수를 이용하주면 된다. 이용방법은 다음과 같다. 1. fill_n의 이용 fill_n(변경하려는 원소의 범위 시작주소, 변경하려는 원소 갯수, 변경 값) 2. fill의 이용 fill(변경하려는 원소의 범위 시작주소, 변경하려는 원소의 범위 종료주소, 변경 값) 다만, 종료주소는 변경값에 포함되지 않는다. 일종의 다른 배열에서 그러는 것처럼 열린구간으로 취급해주면 된다. 위의 내용을 이용하여 해결해야하는 문제는 다음과 같다. #include #include #include using namespace std..
[c++] 배열의 초기화 방법(fill / fill_n)일반적으로 배열을 초기화 할 때, 일부만 채워넣은 경우에는 나머지는 0으로 초기화 된다. 다만, 문제 상황에 따라서 초기값이 0이 아니라 다른 숫자가 나와야 하는 경우에는 fill함수나 fill_n 함수를 이용하주면 된다. 이용방법은 다음과 같다. 1. fill_n의 이용 fill_n(변경하려는 원소의 범위 시작주소, 변경하려는 원소 갯수, 변경 값) 2. fill의 이용 fill(변경하려는 원소의 범위 시작주소, 변경하려는 원소의 범위 종료주소, 변경 값) 다만, 종료주소는 변경값에 포함되지 않는다. 일종의 다른 배열에서 그러는 것처럼 열린구간으로 취급해주면 된다. 위의 내용을 이용하여 해결해야하는 문제는 다음과 같다. #include #include #include using namespace std..
2020.08.24