ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUNGOL...35
    일지 2020. 12. 19. 13:24

    Language_Code/포인터/자가진단1


    문제                                            

    정수형 변수와 포인터 변수를 선언하고 정수를 입력받아 포인터 변수를 이용하여 정수형 변수의 메모리 주소와 값을 출력하는 프로그램을 작성하시오.

     

    주소 출력은 "%#p"를 이용하시오. 아래는 메모리 주소가 "0X11110000"이라고 가정했을 때이다.

     

    입력 예                                        

    20

     

    출력 예                                        

    0X11110000 20

     

    Hint!

    포인터 개념 Lecture


    BasicPointer01.h

    #include <iostream>

     

    BasicPointer01.cpp

    void BasicPointer01::Code()
    {
    	int var;
    
    	std::cin >> var;
    
    	int* p{ &var };
    
    	std::cout << "0x" << p << ' ' << *p;
    }

     

    Language_Code/포인터/자가진단2


    문제                                            

    정수형 포인터를 이용하여 값을 입력받고 입력받은 값을 10으로 나눈 몫과 나머지를 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    123

     

    출력 예                                        

    12...3


    BasicPointer02.h

    #include <iostream>

     

    BasicPointer02.cpp

    void BasicPointer02::Code()
    {
    	int* p = new int;
    
    	std::cin >> *p;
    
    	std::cout << *p / 10 << "..." << *p % 10;
    
    	delete p;
    }

     

    Language_Code/포인터/자가진단3


    문제                                            

    포인터 변수 두 개를 이용하여 두 수를 입력받고 사칙 연산을 수행하여 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    35 6

     

    출력 예                                        

    35 + 6 = 41
    35 - 6 = 29
    35 * 6 = 210
    35 / 6 = 5


    BasicPointer03.h

    #include <iostream>

     

    BasicPointer03.cpp

    void BasicPointer03::Code()
    {
    	int* p1 = new int;
    	int* p2 = new int;
    
    	std::cin >> *p1 >> *p2;
    
    	std::cout << *p1 << " + " << *p2 << " = " << *p1 + *p2 << '\n';
    	std::cout << *p1 << " - " << *p2 << " = " << *p1 - *p2 << '\n';
    	std::cout << *p1 << " * " << *p2 << " = " << *p1 * *p2 << '\n';
    	std::cout << *p1 << " / " << *p2 << " = " << *p1 / *p2;
    
    	delete p1, p2;
    }

     

    Language_Code/포인터/자가진단4


    문제                                            

    5개짜리 정수형 배열을 선언하고 포인터 변수에 저장한 후 포인터 변수를 이용하여 입력을 받은 후 홀수번째 입력값을 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    1 15 23 9 12

     

    출력 예                                        

    1 23 12


    BasicPointer04.h

    #include <iostream>

     

    BasicPointer04.cpp

    void BasicPointer04::Code()
    {
    	int arr[5];
    	int* p{ arr };
    
    	for (int i = 0; i < 5; i++)
    	{
    		std::cin >> p[i];
    	}
    
    	for (int i = 1; i <= 5; i++)
    	{
    		if (i % 2 == 1)
    		{
    			std::cout << p[i - 1] << ' ';
    		}
    	}
    }

     

    Language_Code/포인터/자가진단5


    문제                                            

    실수 5개를 원소로 하는 배열을 선언하고 포인터 변수를 이용하여 입력과 출력을 실행하는 프로그램을 작성하시오 출력은 반올림하여 소수 첫째자리까지 출력하는 것으로 한다.

     

    입력 예                                        

    10 25.3 1.05 0.78 100

     

    출력 예                                        

    10.0 25.3 1.1 0.8 100.0


    BasicPointer05.h

    #include <iostream>

     

    BasicPointer05.cpp

    void BasicPointer05::Code()
    {
    	double arr[5];
    	double* p{ arr };
    
    	for (int i = 0; i < 5; i++)
    	{
    		std::cin >> p[i];
    	}
    
    	std::cout.precision(1);
    	std::cout.setf(std::ios::fixed);
    
    	for (int i = 0; i < 5; i++)
    	{
    		std::cout << p[i] << ' ';
    	}
    }

     

    Language_Code/포인터/자가진단6


    문제                                            

    배열의 크기를 입력받아 입력받은 크기만큼 실수 배열을 생성하고 배열의 원소를 입력받은 후 입력받은 자료 및 합과 평균을 반올림하여 소수 둘째자리까지 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    4
    15 23.6 100.35 0.388

     

    출력 예                                        

    15.00 23.60 100.35 0.39
    hap : 139.34
    avg : 34.83

     

    Hint!

    입력받은 값을 소수 둘째 자리까지 출력하는 것이고 합계와 평균은 입력 받은 값으로 계산 후 소수 둘째 자리까지 출력하는 것이다.


    BasicPointer06.h

    #include <iostream>

     

    BasicPointer06.cpp

    void BasicPointer06::Code()
    {
    	int n;
    
    	std::cin >> n;
    
    	double* arr = new double[n];
    
    	double sum{ 0 };
    	for (int i = 0; i < n; i++)
    	{
    		std::cin >> arr[i];
    		sum += arr[i];
    	}
    
    	double avg{ sum / n };
    
    	std::cout.precision(2);
    	std::cout.setf(std::ios::fixed);
    
    	for (int i = 0; i < n; i++)
    	{
    		std::cout << arr[i] << ' ';
    	}
    	std::cout << '\n';
    
    	std::cout << "hap : " << sum << '\n';
    	std::cout << "avg : " << avg;
    
    	delete[] arr;
    }

     

    Language_Code/포인터/자가진단7


    문제                                            

    배열의 크기를 입력받아 입력받은 크기만큼 배열에 정수를 입력받고 내림차순으로 정렬하여 출력하는 프로그램을 작성하시오.

     

    입력 예                                        

    4
    15 23 100 38

     

    출력 예                                        

    100 38 23 15


    BasicPointer07.h

    #include <iostream>

     

    BasicPointer07.cpp

    void BasicPointer07::Code()
    {
    	int n;
    
    	std::cin >> n;
    
    	int* arr = new int[n];
    
    	for (int i = 0; i < n; i++)
    	{
    		std::cin >> arr[i];
    	}
    
    	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;
    			}
    		}
    	}
    
    	for (int i = 0; i < n; i++)
    	{
    		std::cout << arr[i] << ' ';
    	}
    }

     

    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.