ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUNGOL...26
    일지 2020. 11. 30. 14:29

    Language_Code/함수2/형성평가1


    문제                                            

    정수 N을 입력받고 다시 N개의 정수를 입력받아 내림차순으로 정렬하여 출력하는 프로그램을 작성하시오.
    (1 ≤ N ≤ 15, 입력과 출력, 정렬은 모두 함수를 이용할 것)

     

    입력 예                                        

    5

    12 35 1 48 9

     

    출력 예                                        

    48 35 12 9 1


    FormativeFunction201.h

    #include <iostream>
    
    class FormativeFunction201 : public Base
    {
    private:
    	int* Input(int& n);
    	void Sort(int n, int arr[]);
    	void Print(int n, int arr[]);
    };

     

    FormativeFunction201.cpp

    void FormativeFunction201::Code()
    {
    	int n;
    
    	int* arr = Input(n);
    	Sort(n, arr);
    	Print(n, arr);
    
    	delete[] arr;
    }
    
    int* FormativeFunction201::Input(int& n)
    {
    	std::cin >> n;
    
    	int* arr = new int[n];
    
    	for (int i = 0; i < n; i++)
    	{
    		std::cin >> arr[i];
    	}
    
    	return arr;
    }
    
    void FormativeFunction201::Sort(int n, int arr[])
    {
    	for (int i = 1; i < n; i++)
    	{
    		for (int j = 0; j < n - i; j++)
    		{
    			if (arr[j] < arr[j + 1])
    			{
    				int temp{ arr[j] };
    				arr[j] = arr[j + 1];
    				arr[j + 1] = temp;
    			}
    		}
    	}
    }
    
    void FormativeFunction201::Print(int n, int arr[])
    {
    	for (int i = 0; i < n; i++)
    	{
    		std::cout << arr[i] << ' ';
    	}
    }

     

    Language_Code/함수2/형성평가2


    문제                                            

    두 개의 실수를 입력받아 각각의 제곱근을 구하고 두 제곱근 사이에 존재하는 정수의 개수를 출력하는 프로그램을 작성하시오.

    단, 입력받는 두 실수는 양수이며 두 제곱근 사이라는 말은 두 제곱근을 포함한다.

     

    입력 예                                        

    12.0 34.789

     

    출력 예                                        

    2

     

    Hint!

    두 수의 제곱근을 구하여 정수로 형변환을 한 후 생각해보자.

    두 수 사이의 수들은 모두 포함이 되면 작은 수의 경우 변환하기 전 원래의 제곱근과 같다면 개수에 포함을 시켜야 한다. 

    큰 수는 원래의 수보다 작거나 같으므로 무조건 포함이 된다.


    FormativeFunction202.h

    #include <iostream>
    #include <cmath>
    
    class FormativeFunction202 : public Base
    {
    private:
    	void Function(float var1, float var2);
    };

     

    FormativeFunction202.cpp

    void FormativeFunction202::Code()
    {
    	float var1, var2;
    	
    	std::cin >> var1 >> var2;
    
    	Function(var1, var2);
    }
    
    void FormativeFunction202::Function(float var1, float var2)
    {
    	int num1{ static_cast<int>(ceil(sqrt(var1 < var2 ? var1 : var2))) };
    	int num2{ static_cast<int>(floor(sqrt(var1 > var2 ? var1 : var2))) };
    
    	std::cout << num2 - num1 + 1;
    }

     

    Language_Code/함수2/형성평가3


    문제                                            

    5개의 정수를 입력받아 각 정수의 절대값의 합을 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    35 -20 10 0 55

     

    출력 예                                        

    120


    FormativeFunction203.h

    #include <iostream>
    #include <cmath>
    
    class FormativeFunction203 : public Base
    {
    private:
    	void Function(int arr[]);
    };

     

    FormativeFunction203.cpp

    void FormativeFunction203::Code()
    {
    	int arr[5];
    
    	for (int i = 0; i < 5; i++)
    	{
    		std::cin >> arr[i];
    	}
    
    	Function(arr);
    }
    
    void FormativeFunction203::Function(int arr[])
    {
    	int sum{ 0 };
    
    	for (int i = 0; i < 5; i++)
    	{
    		sum += abs(arr[i]);
    	}
    
    	std::cout << sum;
    }

     

    Language_Code/함수2/형성평가4


    문제                                            

    정수 n을 입력받아 2n의 값을 출력하는 프로그램을 작성하시오. (1 ≤ n ≤ 20)

     

    입력 예                                        

    10

     

    출력 예                                        

    1024


    FormativeFunction204.h

    #include <iostream>
    
    class FormativeFunction204 : public Base
    {
    private:
    	void Function(int n);
    };

     

    FormativeFunction204.cpp

    void FormativeFunction204::Code()
    {
    	int n;
    
    	std::cin >> n;
    
    	Function(n);
    }
    
    void FormativeFunction204::Function(int n)
    {
    	int result{ 1 };
    
    	for (int i = 0; i < n; i++)
    	{
    		result *= 2;
    	}
    
    	std::cout << result;
    }

     

    Language_Code/함수2/형성평가5


    문제                                            

    세 개의 실수를 입력받아 합계와 평균을 구하여 평균을 반올림한 정수를 출력하고, 다음은 입력받은 수를 각각 먼저 반올림한 후 합계와 평균을 구하여 평균을 반올림한 한 결과를 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    153.74 34.59 109.5

     

    출력 예                                        

    99

    100


    FormativeFunction205.h

    #include <iostream>
    #include <cmath>
    
    class FormativeFunction205 : public Base
    {
    private:
    	void Function(float arr[]);
    };

     

    FormativeFunction205.cpp

    void FormativeFunction205::Code()
    {
    	float arr[3];
    
    	for (int i = 0; i < 3; i++)
    	{
    		std::cin >> arr[i];
    	}
    
    	Function(arr);
    }
    
    void FormativeFunction205::Function(float arr[])
    {
    	std::cout << static_cast<int>(floor((arr[0] + arr[1] + arr[2]) / 3 + 0.5f)) << '\n';
    
    	for (int i = 0; i < 3; i++)
    	{
    		arr[i] = floor(arr[i] + 0.5f);
    	}
    	std::cout << static_cast<int>(floor((arr[0] + arr[1] + arr[2]) / 3 + 0.5f)) << '\n';
    }

     

    Language_Code/함수2/형성평가6


    문제                                            

    자료의 개수 7을 매크로 상수로 정의하여 자료의 개수만큼 정수를 입력받아 입력받은 순서대로 앞에서부터 마지막까지 가면서 바로 뒤의 숫자와 비교하여 크면 교환한다. 이러한 작업을 세 번 반복한 후 그 결과를 하나의 행에 공백으로 구분하여 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    15 20 41 8 26 33 19

     

    출력 예                                        

    8 15 20 19 26 33 41

     

    Hint!

    버블정렬에서 i를 N-1부터 N-3까지 3번 실행하면 된다.


    FormativeFunction206.h

    #include <iostream>
    
    #define N 7
    
    class FormativeFunction206 : public Base
    {
    private:
    	void Function(int arr[]);
    };

     

    FormativeFunction206.cpp

    void FormativeFunction206::Code()
    {
    	int arr[N];
    
    	for (int i = 0; i < N; i++)
    	{
    		std::cin >> arr[i];
    	}
    
    	Function(arr);
    }
    
    void FormativeFunction206::Function(int arr[])
    {
    	for (int i = 0; i < 3; i++)
    	{
    		for (int j = 0; j < N - 1; j++)
    		{
    			if (arr[j] > arr[j + 1])
    			{
    				int temp{ arr[j] };
    				arr[j] = arr[j + 1];
    				arr[j + 1] = temp;
    			}
    		}
    	}
    
    	for (int i = 0; i < N; i++)
    	{
    		std::cout << arr[i] << ' ';
    	}
    }

     

    Language_Code/함수2/형성평가7


    문제                                            

    원주율을 3.141592로 매크로 상수로 정의하고 원의 넓이를 구하는 매크로 함수를 작성하여 반지름을 입력받아 원의 넓이를 출력하는 프로그램을 작성하시오. (소수 넷째자리에서 반올림)

     

    입력 예                                        

    radius : 1.5

     

    출력 예                                        

    area = 7.069

     

    Hint!

    원의 넓이 : 반지름 × 반지름 × 원주율(π)


    FormativeFunction207.h

    #include <iostream>
    
    #define PI 3.141592
    #define AREA(r) PI * r * r

     

    FormativeFunction207.cpp

    void FormativeFunction207::Code()
    {
    	double radius;
    
    	std::cout << "radius : ";
    	std::cin >> radius;
    
    	std::cout.precision(3);
    	std::cout.setf(std::ios::fixed);
    	
    	std::cout << "area = " << AREA(radius);
    }

     

    NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

     

    NadanKim/CodingTest_JUNGOL

    JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

    github.com

     

    댓글

Designed by Tistory.