#include <stdio.h>


길이가 10인 배열 선언 총 10개 정수 입력, 홀수 짝수 구분지어 출력, 홀수 선출력 후 짝출력, 10개정수 메인에서 입력, 배열내에 존재하는 짝수만 출력하는 함수를 각각정의해서 이 두 함수를 호출하는 방식으로 프로그램 완성



=========================



윤성우의 열혈 C프로그래밍 <도전! 프로그래밍2>에 나온 2번 문제이다.


문제의 실행 예시에서 출력부분의 


홀수 출력 : 1, 3, 5, 7, 9

짝수 출력 : 2, 4, 6, 8, 0


이런 식으로 맨 마지막의 출력 숫자 뒤에는 ' , ' 를 찍지 않는 것 때문에 골머리를 앓았다.


생각지 못한 여러가지 방법이 있겠지만 나는 입력받은 모든 배열을 검사하여 홀, 짝을 전역 변수에 카운트 하였고 카운트된 횟수를 바탕으로 ' , ' 없이 출력될 숫자를 if문으로 구분지었다.


나름 깔끔하게 마무리 된 것 같다.


역쉬, 전역 변수는 편리하다....

블로그 이미지

irostub

iro의 잡화상점

,

visual studio2017(ver 15.5.2) 버전업이 되면서 Win32 콘솔 응용프로그램 프로젝트를 만드는 방법이 달라졌다.


만약 C언어 교재를 이용해 공부하는 분들은 2017 이전 버전의 설명이라면 당황스러울 것.


스크린 샷으로 설명하겠다.


파일 - 새로 만들기 - 프로젝트 (Ctrl + Shift + N) 을 선택해준다.




템플릿 카테고리에서 Visual C++ 하위의 Windows 데스크톱을 선택해주면 목록이 나온다. Windows 데스크톱 마법사를 클릭해준 후 확인을 눌러준다.



이후 나온 화면에서 빈 프로젝트가 체크 해제 되있고 SDL검사가 체크되어있을 것이다. 그림과 같이 빈 프로젝트는 체크해주고 SDL은 체크 해제 해준다.


SDL을 해제하지 않아도 되지만 해재하지 않는다면 보안에 문제가 되는 함수들에 조언이 뜰 것이다. 공부하시는 분들은 체크 해제 하는게 기존 환경과 더 비슷할 것.




Win32 콘솔 응용 프로그램으로 실행했을 때와 같은 환경으로 시작하게된다.


왜 자꾸 바뀌는거야...








블로그 이미지

irostub

iro의 잡화상점

,

Visual Studio 2017이 버전업 되면서 기존에 사용하던 문자열 배열의 초기화에 문제가 생겼다.




"char"형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. 라는 문구가 나온다. 약간 시간이 지난 C언어 교재를 이용하고 있었다면 겪을 수 있는 문제.


해결 방법은 간단하다. 

솔루션 탐색기(ctrl + alt + L) 연 다음 작업하고 있는 소스파일의 확장자를 .cpp 에서 .c로 변해준다. 



.cpp확장자는 c++의 소스파일 확장자다.


.cpp확장자에서 C언어를 사용 못하는 것은 아니다. 근데 가끔 저런 문제가 생겨서 그렇지..



#include<iostream>

using namespace std;

를 사용하고 있었다면 .c로 확장자를 바꾸면 더 이상 사용할 수 없다.


블로그 이미지

irostub

iro의 잡화상점

,