데일리 codeup/일차원 배열

인덱스 참조_220711

hayo_su 2022. 7. 11. 15:33

배열 값 참조

배열 arr에서 i번째 원소의 값을 얻기 위해서는 arr[i - 1]을 참조해야 한다.

예제

#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

특정 위치의 숫자

10개의 정수를 입력받은 후 세 번째 다섯 번째 열 번째 입력받은 정수의 합을 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    for(int i=0;i<10;i++){
        cin >> n[i];
    }
    cout<<n[2]+n[4]+n[9];
    return 0; 
}

배열의 특정 위치 찾기

10개의 정수를 입력받아 배열에 저장한 후 짝수 번째로 입력된 값의 합과 3의 배수 번째로 입력된 값의 평균을 출력하는 프로그램을 작성하시오.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    int sum_val2=0,sum_val3=0, cnt=0;
    for(int i=0;i<10;i++){
        cin >> n[i];
    }
    for(int j=0;j<10;j++){
        if(j%2==1)   sum_val2 += n[j];
        if(j%3==2){
            sum_val3 += n[j];
            cnt++;
        }
    }
    cout<<fixed;
    cout.precision(1);
    cout<<sum_val2<<' '<<(double)sum_val3/cnt;
    return 0;
}

배열의 특정 위치 찾기 3

정수가 차례로 주어지다가 0이 주어지면 처음으로 주어진 0에 대해서 앞의 3개를 수를 더하여 출력하는 프로그램을 배열을 사용하여 작성해보세요. (단, 0은 네 번째 이후부터 주어진다고 가정해도 좋습니다.)

#include <iostream>
using namespace std;
int main(){
    int n[100];
    int index=0;
    cin >> n[index];
    while(n[index] != 0){
        index++;
        cin>>n[index];
    }
    cout<< n[index-1]+n[index-2]+n[index-3];
    return 0;
}

특정 위치의 문자 2

10개의 문자를 입력받아서 두 번째, 다섯 번째, 여덟 번째 입력받은 문자를 차례로 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    char n[10];
    for(int i=0;i<10;i++){
        cin >> n[i];
    }
    cout<<n[1]<<' '<<n[4]<<' '<<n[7];
    return 0;
}

배열의 특정 위치 찾기 2

10개의 정수를 입력받아 홀수 번째 입력받은 정수의 합과 짝수 번째 입력받은 정수의 합 중 큰 수에서 작은 수를 뺀 값을 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    int sum_odd=0,sum_even=0;
    for(int i=0;i<10;i++){
        cin>>n[i];
    }
    for(int j=0;j<10;j++){
        if(j%2==0)  sum_odd += n[j];
        else    sum_even += n[j];
    }
    cout<<abs(sum_even-sum_odd);
    return 0;
}

배열에서 원소의 특징

배열의 원소 10개가 주어졌을 때, 원소 중 3의 배수가 처음으로 등장하는 부분의 바로 앞 원소를 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    for(int i=0;i<10;i++){
        cin>>n[i];
        if(n[i]%3==0){
            cout<<n[i-1];
            break;
        }
    }
    return 0;
}