Development/C
-
[C언어] 2차원 배열을 이용하여 각 셀의 합을 더하여라.Development/C 2014. 12. 11. 14:17
Q. 실행결과가 다음과 같이 되도록 구현하여라. 35 15 25 45 3515 50 2545 70 6060 240 가로행과 세로열을 구하고 최종합계를 3,3에 출력하는 문제입니다. 우선 문제에 접근하기 전에 변수를 어떻게 설정할 것이며, 어떻게 문제를 해결 해 나갈지를 생각합니다. 저는 변수를 다음과 같이 선언했습니다. int arr[3][3] = { { 35, 15 }, { 25, 45 } }; 이렇게하면 위 문제와 같이 배열이 생성되며, 빈 곳은 자동으로 0으로 채워집니다. 그리고 다음과 같이 배열이 구성되어 있으므로 i,와 j변수를 이용하여 for루프를 돌립니다. (0,0)(0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1)(2,2) for루프를 돌리기 전에 잠깐 짚고가야 할 ..
-
[열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기(연습문제13-1-2)Development/C 2013. 8. 27. 16:33
[연습문제 13-1-2] 1번 문제와 유사하다. int형 배열 arr을 선언하고 1, 2, 3, 4, 5로 초기화한 다음, 포인터 p를 선언해서 배열 arr의 첫 번째 요소를 가리키게 한다. 그 다음에는 포인터 p를 이용해서 배열 요소의 순서를 바꾼 후, 그 결과를 출력하는 프로그램을 작성하자. 정답 및 소스보기 #include int main(void){ int arr[5]={1,2,3,4,5}; int *p=arr; int temp; for(int i=0;i
-
[열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기(연습문제13-1-1)Development/C 2013. 8. 27. 15:45
[연습문제 13-1-1] 크기가 5인 int형 배열 arr을 선언하고 1,2,3,4,5로 초기화 한 다음, 포인터 p를 선언해서 배열 arr의 첫 번째 요소를 가리키게 한다. 그 다음 포인터 p를 조작(포인터 연산을 의미함)해서 배열 요소의 값을 2씩 증가시킨 후, 전체 배열 요소를 출력하는 프로그램을 작성하자. 정답 및 소스보기 #include int main(void){ int arr[5]={1,2,3,4,5}; int *pArr=arr; for(int i=0; i
-
[열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기-두번째[포인터/배열 완전정복]Development/C 2013. 8. 23. 15:21
포인터와 배열 완전 정복하기!!-두번째 날씨도 더운데 이 선풍기 바람좀 쐬면서 좀 더 시원해지세요~ ㅋㅋㅋ 겨울에 이 글을 보는사람은 어쩔수 엄슴..ㅠㅠ 추워도 참으셔야댐 ▼이전 글 보기(클릭)▼2013/08/22 - [ETC/▶프로그래밍] - [열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기-첫번째[포인터/배열 완전정복] 13-3문자열 상수를 가리키는 포인터 [1]문자열 표현 방식의 이해 - 포인터가 표현하는 문자열 상수 이건 쫌 중요한문제입니다..ㅇ-ㅇ문자열을 표현하실 때 어떻게 표현하시나요? 대부분 printf함수를 쓰거나 배열을 사용하여 표현하곤 합니다.하지만, 포인터로도 문자열을 표현할 수 있다는 사실 알고 계셨나요~? char string[5]="abcd";char *pStr..
-
[열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기-첫번째[포인터/배열 완전정복]Development/C 2013. 8. 22. 14:07
포인터와 배열 완전 정복하기!! 날씨도 더운데 이 선풍기 바람좀 쐬면서 좀 더 시원해지세요~ ㅋㅋㅋ 겨울에 이 글을 보는사람은 어쩔수 엄슴..ㅠㅠ 추워도 참으셔야댐 이번 시간에는 포인터와 배열을 동시에 배워보도록 하겠습니다.포인터를 완벽히 정복하기 위해서는 포인터와 배열을 각각 이해하는 것뿐만 아니라, 이 둘을 함께 이해하는 과정도 필요합니다.포인터와 배열은 매우 밀접한 관계를 맺고 있기 때문인데요.이 관계를 이해하는 것은 포인터의 특징을 이해하는데 있어서 상당히 중요한 부분을 차지하니 꼭!! 마스터 하시길 바랍니다!! ㅇㅅㅇb 향후 다차원배열과 다중포인터의 관계로 들어가다보면 지금보다 훨씬 어려워지게 됩니다. 그 때가서 후회하시지마시고 이 장에서 확실히 이해하고 넘어가시길 바랍니다-☆ 13-1. 포인터..
-
[열혈강의 C]Part2. 12장 - 포인터의 이해(연습문제12-1-3)Development/C 2013. 8. 9. 16:11
[연습문제 12-1-3] int형 변수 a와 b를 선언과 동시에 각각 10,20으로 초기화시킨다. 그리고 포인터 p1과 p2를 선언 한 다음 각각 변수 a와 b를 가리키게 한다. 이러한 상테에서 간접 접근 방식에 의해서 값을 하나 감소시킨다. 그 다음 포인터 p1과 p2가 가리키는 대상을 서로 바꿔준다. #include int main(void) { int a=10; int b=20; int *p1=&a; int *p2=&b; int *temp; printf("변경전::: p1 : %d / p2 : %d\n",*p1,*p2); (*p1)--; (*p2)--; temp=p1; p1=p2; p2=temp; printf("변경후::: p1 : %d / p2 : %d\n",*p1,*p2); return 0; }..
-
[열혈강의 C]Part2. 12장 - 포인터의 이해(연습문제12-1-2)Development/C 2013. 8. 9. 15:53
[연습문제 12-1-2] char형 변수 a, int형 변수 b, float형 변수 c, double형 변수 d, 이렇게 총 4개의 변수를 선언하자(초기값은 임의로 정하기 바란다). 그리고 포인터 p1, p2, p3, p4를 선언해서 각각 a,b,c,d를 가리키게 하자. 그 다음에 포인터 p1, p2, p3, p4를 이용해서 a, b, c, d의 값을 1 증가시킨다. 즉 간접 접근방식에 의해서 값을 하나 증가시키라는 뜻이다. #include int main(void) { char a='a'; int b=1; float c=1.3f; double d=3.5; char *p1=&a; int *p2=&b; float *p3=&c; double *p4=&d; printf("p1=%c\np2=%d\np3=%f\n..
-
[열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-3)Development/C 2013. 8. 7. 22:32
[연습문제 11-2-3] 문자열을 입력받는다. 입력받은 문자열을 구성하고 있는 문자 중에서 아스키 코드 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 구현해 보자. 예를 들어서 입력된 문자열이 "abc"라면 이 중에서 아스키 코드 값이 가장 큰 문자는 'c'이다. 따라서 c를 출력 해 준다. #include #include int main(void) { char string[100]; char max_ascii=0; int i; printf("문자열을 입력하세요: "); gets(string); //scanf("%s",string); for(i=0;string[i]!='\0';i++) { if(max_ascii