728x90
300x250
[프로그래밍 퀴즈(Quiz)] 프로그래밍 기초 퀴즈(C++)


초급적인 문제입니다.



(입력1)


입력

출력

12345

5,4,3,2,1



(소스코드)


#include <iostream>
#include <string>
#include <vector>
#include <math.h>

using namespace std;

vector<int> solution(long long n) {
    vector<int> answer;
    string strNumber;

    long long conversionNumber;
    int div = 10;
    int size = 0;
    int tmp = n;

    while (tmp > 0) {

        tmp = tmp / 10;
        size++;
    }

    strNumber = to_string(n);

    while (size > 0) {

        conversionNumber = std::stoll(strNumber.substr((size - 1), 1));
        //cout << strNumber.substr( (size - 1), 1) << endl;
        answer.push_back(conversionNumber);
        size--;
    }

    return answer;
}

int main() {

    solution(12345);

}


반응형
728x90
300x250

[PC활용] 쉬운 IDE - Small Basic

이 프로그램은 Microsoft에서 학생을 대상으로 프로그래밍을 쉽게 접할 수 있도록 만든 프로그램입니다.


1. 소개



아래에 첨부된 Introducing Small Basic.pdf 파일은 69쪽으로 구성되어 있는 데 프로그래밍에 필요한 기본 문법은 다 적어놓았습니다.

[첨부(Attachment)]
Introducing Small Basic.pdf



위의 사진은 GraphicsWindow.Show()이라는 간단한 명령어에 의해 Window 창이 호출되는 사진입니다.


2. 프로그램 설치

 

en_SmallBasic을 내려받아서 설치하면 될 것입니다. 단, 윈도우 환경에서만 동작합니다.

[첨부(Attachment)]
en_SmallBasic.7z

사용 운영체제: Microsoft Windows 7, Vista 등.


3. 참고자료(Reference)

 

 

1. http://smallbasic.com/
2. http://www.microsoft.com/ko-kr/download/details.aspx?id=46392

반응형
728x90
300x250

[C언어] 포인터 배열 정리

[소스]

#include <stdio.h>

#define print(imsi) printf(#imsi "\t%08x %d\n", imsi, sizeof(imsi))

main()
{

 int imsi_1[2] = { 5, 7 };
 int imsi_2[3] = { 45, 67, 25 };
 int imsi_3[4] = { 27, 34, 87, 25 };

 int *temp[3];

 temp[0] = imsi_1;
 temp[1] = imsi_2;
 temp[2] = imsi_3;


 print(temp);
 print(&temp);
 print(*temp);
 print(temp[0]);
 print(&temp[0]);

}


결과 :

temp    0012ff1c 12
&temp   0012ff1c 4
*temp   0012ff5c 4
temp[0] 0012ff5c 4
&temp[0]        0012ff1c 4


[설명]

1. temp
Temp는 포인터 변수들의 모임인 포인터 배열의 모 배열입니다. 대상체는 temp 배열 전체이므로 12가 출력됩니다.
2. &temp
temp가 저장된 곳의 주소를 출력하라는 뜻으로 사용했지만 temp는 배열명으로써 메모리 할당을 받지 않기 때문에 temp와 같은 값을 출력하게 되지요. 의미상으로는 맞지 않지만 ANSI에서 새로 추가하여 에러는 발생하지 않습니다... 또한 주소 값에 대한 sizeof()이므로 당연히 4가 출력됩니다.
3. *temp
temp가 가리키는 것은 temp[0]입니다. temp는 temp[0], temp[1], temp[2] 전체를 대상으로 하기 때문에 12가 출력되었지만 *temp가 가리키는 대상체는 temp[0]이며 이것이 할당된 메모리 영역은 4바이트이므로 4가 출력됩니다.

Tip) temp 자체에 대한 대상체를 * 연산자를 이용하여 출력하려면 다음과 같이 하면 되겠습니다.

물론 2차원 배열에 대한 주소 값을 받은 상태라면 이것은 행 전체에 대한 크기를 출력해 줄 것입니다.

printf("%d\n", sizeof(*&temp));

4. temp[0]
temp[0]은 포인터 변수이다. temp[0]을 위해서 할당된 메모리 영역은 4바이트이므로 4가 출력됩니다.

5. &temp[0]
temp[0]에 &연산자를 사용하여 메모리를 출력하고 있습니다. 이 메모리에 대한 메모리 할당은 당연히 4바이트이므로 4가 출력되겠습니다.
반응형
728x90
300x250

[C언어] 꼭 알아야 할 배열 포인터

태스트 : Visual Studio 2008.

#include <stdio.h>

main()
{

 int i, j;

 int imsi[3][2] = {{6, 3}, {9, 1}, {7, 2}};

 int (*imsip)[2];

 imsip = imsi;

 for(i = 0; i < 3; i++)
  for(j = 0; j < 2; j++)
   printf("[ %d][ %d] %d\n", i, j, *(*(imsip + i) + j));

 printf("################################################\n");

 for(i = 0; i < 3; i++)
  for(j = 0; j < 2; j++)
   printf("[ %d][ %d] %d\n", i, j, *(imsip[i] + j));

 printf("################################################\n");

 for(i = 0; i < 3; i++)
  for(j = 0; j < 2; j++)
   printf("[ %d][ %d] %d\n", i, j, imsi[i][j]);

 printf("################################################\n");

 for(i = 0; i < 3; i++)
  for(j = 0; j < 2; j++)
   printf("[ %d][ %d] %d\n", i, j, imsip[i][j]);

}


출력

[ 0][ 0] 6
[ 0][ 1] 3
[ 1][ 0] 9
[ 1][ 1] 1
[ 2][ 0] 7
[ 2][ 1] 2
################################################
[ 0][ 0] 6
[ 0][ 1] 3
[ 1][ 0] 9
[ 1][ 1] 1
[ 2][ 0] 7
[ 2][ 1] 2
################################################
[ 0][ 0] 6
[ 0][ 1] 3
[ 1][ 0] 9
[ 1][ 1] 1
[ 2][ 0] 7
[ 2][ 1] 2
################################################
[ 0][ 0] 6
[ 0][ 1] 3
[ 1][ 0] 9
[ 1][ 1] 1
[ 2][ 0] 7
[ 2][ 1] 2


2. 2차원 배열 포인터 변수에 주소 할당

#include <stdio.h>

main()
{

 int imsi[3];

 int *imsip;


 imsip = imsi;


 printf("%d\n", sizeof(imsi));
 printf("%d\n", sizeof(imsip));
 printf("%d\n", sizeof(*imsip));

}


결과

12
4
4

설명 :
imsi[0] + imsi[1] + imsi[2] 이므로 4 + 4 + 4 = 12Byte
imsip, *imsip 는 포인터 변수이므로 무조건 4Byte로 할당됩니다.
반응형

+ Recent posts