데일리 codeup/일차원 배열

배열만들기_220711

hayo_su 2022. 7. 11. 16:25

제곱하여 출력하기

n개의 원소가 주어졌을 때, 주어진 n개의 원소에 각각 제곱을 하여 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin >> m[i];
        m[i] *= m[i];
    }
    for(int j=0;j<n;j++){
        cout<< m[j]<<' ';
    }
    return 0;
}

일의 자리 배열

10 미만의 정수 두 개가 주어지면 순서대로 첫 번째, 두 번째 항으로 설정한 후 세 번째 항부터는 전전항과 전항의 합을 구하여 그 합의 1의 자리로 채워서 차례로 10개를 출력하는 프로그램을 작성해보세요.

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

짝수인 것만 출력하기

n개의 원소가 주어졌을 때, 주어진 n개의 원소 중 짝수인 값만 출력하는 프로그램을 작성해보세요. 단, 짝수인 값을 새로운 배열에 저장한 뒤 출력해 보도록 합니다.

#include <iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int m[n];
    for(int i=0;i<n;i++){
        cin>>m[i];
    }
    for(int j=0;j<n;j++){
        if(m[j]%2==0)   cout<<m[j]<<' ';
    }
    return 0;
}

숫자들의 배수

1부터 10 사이의 정수 중 한 개를 입력받아 배수들을 차례로 출력하다가 5의 배수가 2번 출력되면 프로그램을 종료하도록 프로그램을 작성하시오.

#include <iostream>
using namespace std;
int main(){
    int n,cnt = 0,val = 1;
    cin >> n;
    while(cnt<2){
        if((n*val)%5==0){
            cnt++;
        }
        cout<<n*val<<' ';
        val++;
    }
    return 0;
}

특정 조건에 맞게 출력하기

정수가 차례로 주어지다가 0이 주어지면 0을 제외하고 그때까지 주어진 정수를 차례로 출력하되 그 수가 홀수이면 3을 더한 값을, 짝수이면 2로 나눈 몫을 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n[100];
    int i;
    for(i=0;i<100;i++){
        cin>>n[i];
        if(n[i]==0) break;
        if(n[i]%2==1){
            n[i]+= 3;
        }
        else{
            n[i] /= 2;
        }
    }
    for(int j=0;j<i;j++){
        cout<<n[j]<<' ';
    }
    return 0;
}

100 도달하기

정수 n이 주어지면 정수 n을 두 번째 항으로 초기화하고 첫 번째 항은 1로 초기화 한 후에, 세번째 항부터 전전항과 전항을 더한 수로 채워나가다가 100을 넘길때까지 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n,cnt = 1;
    cin >> n;
    int m[100];
    m[0] = 1;
    m[1] = n;
    while(m[cnt]<100){
        cnt++;
        m[cnt] = m[cnt-1]+m[cnt-2];
    }
    for(int i=0;i<cnt+1;i++)    cout<<m[i]<<' ';
    return 0; 
}

전항의 두 배

수열의 첫 번째 항 $A_{3}$ 과 두 번째 항($A_{2}$)이 주어졌을 때, 10번째 항까지 구하는 프로그램을 작성해보세요.

이 수열은 세 번째 항부터 $A_{n} = A_{n−1} + 2A_{n−2}$를 만족해야 합니다.

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