1. 배열 값 참조
i번째 원소는 index i-1번에 위치한다.
index 0 1 2 3
arr 1 5 2 8
만약 2번 원소 2를 9로 바꾸고 싶다면, 해당 값을 참조해서, 9를 할당하면 된다.
arr[2] = 9;
다음은 2번 원소를 단순히 바꾸는 코드
#include <iostream>
using namespace std;
int main() {
int arr[4];
for (int i = 0; i < 4; i++) {
cin >> arr[i];
}
cout << arr[2] << endl;
arr[2] = 5;
cout << arr[2] << endl;
return 0;
}
>> 1 5 2 7
2
5
다음은 i번 원소를 2배해서 바꾸는 코드
#include <iostream>
using namespace std;
int main() {
int arr[10] = { 1,2,3,5 };
for (int i = 0; i < 4; i++) {
arr[i] *= 2;
}
for (int i = 0; i < 4; i++) {
cout << arr[i] << " ";
}
return 0;
}
2. 배열의 마지막 원소
배열의 크기가 n이라면 마지막 원소의 index는 n-1이다.
파이썬과는 다르게 음수 인덱스는 사용할 수 없다
#include <iostream>
using namespace std;
int main() {
int n;
int arr[105];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
cout << arr[n - 1];
return 0;
}
3. 피보나치 수열 배열 없이 만들기
a,b에 각각 1을 넣고, 다음항 c = a +b;로 둔 다음에, a = b로 하고 b = c로 해서 반복문을 수행하면,
특정 피보나치 항을 배열 없이 구할 수 있게 된다
메모리 제한이 있을때 유용하게 사용할 수 있을듯
#include <iostream>
using namespace std;
int main() {
int pp = 1, p = 1;
for (int i = 3; i < 11; i++) {
int temp = pp + p;
pp = p;
p = temp;
}
cout << p;
return 0;
}
>> 55
4. 배열 초기화
C++에서는 자바와는 다르게 int 배열을 초기화할때, 기본값으로 0이 들어가지 않고 쓰레기값이 들어간다
그래서 모든 값에 0이 들어가게 초기화하고 싶다면,...
// 숫자 별 출현 횟수.
int count_arr[7] = { 0, 0, 0, 0, 0, 0, 0 };
// 0으로 초기화이므로 이렇게 초기화할수도 있습니다.
int count_arr[7] = {};
// 혹은 다음과 같이
int count_arr[7] = {0,};
원소의 크기가 1이상 9이하인 n개의 원소가 주어졌을 때, 1부터 9까지 각각 몇 번씩 나왔는지를 출력하는 프로그램을 작성해보세요.
#include <iostream>
using namespace std;
int main() {
// 여기에 코드를 작성해주세요.
int n;
cin >> n;
int counting[10] = {0,};
for(int i = 1; i <= n; i++){
int a;
cin >> a;
counting[a] += 1;
}
for(int i = 1; i <= 9; i++){
cout << counting[i] << endl;
}
return 0;
}
728x90
'알고리즘 > C++ 기초' 카테고리의 다른 글
C++ 알고리즘 기초22 -배열 심화2(최대, 최소 찾기, 정렬하기, 그리디 연습)- (0) | 2023.07.02 |
---|---|
C++ 알고리즘 기초20 -문자열 심화1(마지막 문자 인덱싱, length()함수 overflow 문제, to_string()함수, 문자열의 끝)- (0) | 2023.06.09 |
C++ 알고리즘 기초19 -반복문 심화3(무한루프 만들기, 비교연산자 주의할점, 반복문에서 i값 가져오기)- (0) | 2023.06.07 |
C++ 알고리즘 기초18 - 반복문 심화2(10의 자리와 1의 자리 구하는 방법 복기)- (0) | 2023.06.06 |
C++ 알고리즘 기초17 -문자열 입력받기, 문자열 길이 구하기(length), 공백을 포함한 문자열 입력받기(getline)- (0) | 2023.05.30 |