C언어61

배열의 차원을 구하는 방법 C++ (강화버전) 안녕하세요!! 이번에는 저번에 배열의 차원의 찻수를 구하는 방법에 관하여 포스팅했습니다. 몇시간 더 삽질하면서, "벡터에 클래스가 들어와도 정상적으로 작동시킬수 없을까?"라는 생각이 들어서 강화버전을 준비했습니다. https://mawile.tistory.com/206 배열의 차원을 구하는 방법 C++ 우리는 흔히 배열의 크기를 구하고는 합니다. 예를들어서 이런식으로 말이죠.. int main() { int arr[5]; int size = sizeof(arr) / sizeof(arr[0]); } 하지만 ... 만약 아래 코드와 같은 5차원 배열이 존재할때,.. mawile.tistory.com 이번에는 저번에 만들었던 로직을 살짝수정하여 좀더 강력하게, 클래스가 와도 정상작동되게 수정했죠...훗.. #.. 2021. 10. 12.
배열의 차원을 구하는 방법 C++ [ 강화버전 ] https://mawile.tistory.com/207 배열의 차원을 구하는 방법 C++ (강화버전) 안녕하세요!! 이번에는 저번에 배열의 차원의 찻수를 구하는 방법에 관하여 포스팅했습니다. 몇시간 더 삽질하면서, "벡터에 클래스가 들어와도 정상적으로 작동시킬수 없을까?"라는 생각이 들 mawile.tistory.com 우리는 흔히 배열의 크기를 구하고는 합니다. 예를들어서 이런식으로 말이죠.. int main() { int arr[5]; int size = sizeof(arr) / sizeof(arr[0]); } 하지만 ... 만약 아래 코드와 같은 5차원 배열이 존재할때, 이 배열의 찻수인 "5"를 프로그램에게 알리려면... 즉, n차원 배열이 있다고할때, 프로그램에게 그 n차원 배열.. 2021. 10. 11.
Softmax function 구현하기 C++ 머신러닝에서 어떠한 여러개의 값이 주어졌을때, 그 여러개의 값중에서 임의의로 고른값을 확률의 수치로써 사용하기위해서 고안된 함수입니다. 예를들어서, 다음과 같은 배열이 있다고할때... [ 2, 3, 5 ] 만약 여기서 "2"를 고를때 전체 배열의 합에서의 확률(차지하는 빈도)의 수치는 몇인가? 에 대한 답을 제시해주는것이 "Softmax function"입니다. 우선 소프트맥스함수는 아래와 같이 생겼습니다. 흠.. 의외로 엄청 심플하게 생겼습니다. 실제 C++코드로 옮기면 다음과 같습니다. #include #include #include // https://www.HostMath.com/Show.aspx?Code=f(sj)%20%3D%20%5Cfrac%7Be%5E%7Bsj%7D%7D%7B%5Csum_%7.. 2021. 10. 11.
이벤트 제어 c/c++ 다중 스레드환경에서 가끔 코루틴처럼 특정이벤트가 발생해야만 함수가 실행되는방법에 관하여 찾고계신가요..? velog에다가 다중스레드 환경에서 이벤트를 제어하는 여러가지 방법에 관하여 포스팅해놓았습니다. 참고해두셨으면 좋겠습니다. https://velog.io/@dpmawile/EventHandling 이벤트 제어 c/c++ 다중스레드환경에서 이벤트제어에 관한 여러가지 방법입니다. velog.io 2021. 9. 10.
삼각형 내부에 존재하는지 점인지 확인하는법 c++ 이번에는 삼각형을 이루는 세개의 꼭짓점을 통해서, 어느 한 꼭짓점 N이 해당 삼각형 내부에 존재하는지 확인하는 알고리즘입니다. 코드는 최대한 가독성을 높여서 만들었습니다. #include struct Coord { int x, y; }; void initialize() { std::cin.tie(0); std::cout.tie(0); std::ios_base::sync_with_stdio(0); } int calcTriangle(Coord A_TRIANGLE, Coord B_TRIANGLE, Coord C_TRIANGLE) { int result = std::abs((A_TRIANGLE.x * (B_TRIANGLE.y - C_TRIANGLE.y)) + (B_TRIANGLE.x * (C_TRIANGLE.y.. 2021. 8. 20.
제곱, 제곱근 구현하기 우선은 제곱근은 바빌론방법을 사용하였고, 제곱은 dp를 사용했습니다. 사실 제곱을 일반적으로 구현하면, 시간복잡도가 O(n)이 되는데, 저가 사용한 방법은 dp입니다. 시간복잡도는 예를들어서, 처음 2의 2제곱을 하면 O(n)이고, 그다음은 2의 e제곱을 하면 시간복잡도는 O(n-e)가 됩니다. 그리고, 이미 제곱했었던 수라면 시간복잡도는 O(1)입니다. 먼저 바빌론방법을 이용한 제곱근을 구하는 함수입니다. #include double squareRoot(double n){ double x = n; double y = 1; double e = 0.000001; while(x - y > e){ x = (x + y) / 2; y = n / x; } return x; } int main() { std::cou.. 2021. 8. 13.
가변인자 프린트함수 ( c++23 ) 개발환경 >> Devcpp 언어 >> C++23 운영체제 >> Windows10 home 안녕하세요! 이번에 c++에서 새로나온 문법 concept아시나요?? 이번에 이것에 대해서 공부해보기위해서 만들어본 카테고리입니다. 그것과 동시에 SFINAE도 동시에 병행해서 공부해보려합니다. 그러면 오늘은 이를 이용한 가변인자 프린트함수 만들기 참고자료를 통해서 바로 공부시작해보겠습니다! 우선은 concept에 대한 기본적인 문법은 알고있으시다는 전제하에 진행하겠습니다. 소스코드 #include #include template concept IsAnyOf = (std::same_as || ...); template concept IsPrintable = std::integral || std::floating_po.. 2021. 6. 23.
Devcpp에서 c++23 사용하기 Devcppで c++23を 使用する Using c++23 with Devcpp 안녕하세요!! devcpp에서 c++23을 사용하는방법을 알려드리겠습니다. 우선은 이방법으로 2020년도에 정식으로출시된 c++20또한 사용가능합니다! 바로가시죠! gcc 다운로드 https://winlibs.com/ WinLibs - GCC+MinGW-w64 compiler for Windows WinLibs standalone build of GCC and MinGW-w64 for Windows Jump to: Download | How to use from Windows Command Prompt | How to use from Code::Blocks | Philosophy What is it? In short: it's a free C and C++ compiler for Microsoft Win.. 2021. 6. 20.
문자열 자르기 < c++20 / concept / requires > 개발환경 >> Visual Studio 2022 언어 >> C++20 운영체제 >> Windows10 안녕하세요!!!!! 이번에는 간단하게 어떠한 문자열객체를 받았을때 그 문자열객체를 특정조건에 따라 쪼개버리는 함수를 만들어보겠습니다!! 최근에 C++20에 새로나온 문법인 concept와 requires를 이용해서 연습하다가 만들어본거에요!! #include //std::cout #include //std::vector #include //std::string #include //SFINAE template//std::string관련 객체만 받는 템플릿 concept StringType = requires(OnlyBeString _OnlyBeString) { { _OnlyBeString } -> std:.. 2021. 6. 19.
드래곤파일 클라이언트 <1.0.0> 다운로드 [ C++ DragonFileClient<1.0.0> 배포 ] 안녕하세요!!!!!!!!!!!!!!!! 이번에는 자작프로그램 배포입니다! 저번에 올렸던 DragonGUI를 배포한지 벌써 1달이 지났습니다..!!! https://mawile.tistory.com/145 DragonGUI 1.0.0 배포 [ GUI앱을 쉽게 만들어보자! ] 안녕하세요 이번에 배포할 자작 응용프로그램은 DragonGUI 입니다. 우선은 본 프로그램의 최종목적은 사용자가 직접 쉽고 간편하게 GUI애플리케이션을 만들도록 도와주는것입니다. 이번에는 시간 mawile.tistory.com 이걸 올린지 벌써 한달이라니...ㄷㄷㄷ... 방금 봤는데 한 2주전에 올린것같은데 1달이네요.... 자......!!!!! 이번에는 무슨 프로그램이냐.!?!?!?!? 이번에는 좀 실용적인것을 만들었습니다...!!.. 2021. 5. 13.
for루프문 [ vs2019 inline assembly ] 개발환경 >> Visual Studio 언어 >> C++14(+) 운영체제 >> Windows10 안녕하세요!!! 요즘에 프로젝트개발을 하면서 프로그램 최적화와 속도향상에 관한 많은 생각을 거듭한끝에 극한의 극한까지 프로그램을 효율적으로 최적화할 수 없을까?? 라는 생각을 하게되었습니다. 그래서 알아본것이 Assembly!!! 특히 vs2019는 디버깅을 통해 디스어셈블이 바로 가능하기 때문에 바로 연습해봤죠!! 이번에는 새로운 카테고리를 개설했는데 Assembly를 C++코드로, C++코드를 Assembly코드로 변환하면서 분석하고 설명하는식으로 가겠습니다. 이번에 이 강좌를 진행하면서 저도 같이 공부를 하게되겠습니다. 이것을 C++코드 아예없이도 완전하게 Assembly만으로 프로그램을 자유롭게 만들.. 2021. 5. 12.
HDC를 이미지로 저장 (HDC -> HBITMAP) - C++ / GDI+ 개발환경 >> Visual Studio 언어 >> C++17이상 운영체제 >> Windows10 안녕하세요~!! 이번에 시험이 끝난기분으로 만들어본 예제입니다! 우선은 HDC라는 것은 WINAPI GDI에서 그림판?? 미술로따지면 스케치북 같은 개념입니다! 그러한 스케치북에다가 그린그림을 실제 사진파일로 출력하는 예제입니다!! 저가 결심한게 있는데, 이러한 강좌나 예제글을 진행할때는 소스코드에 주석을 최대한 자세하게 달려구요! [ 예제(HDC를 이미지로 저장) ] #pragma comment(lib, "gdiplus.lib") //gdiplus 라이브러리사용링킹입니다. #include //윈도우api사용! #include //gdi+사용! #include //getch()메서드 사용! /* 인자로 전달받.. 2021. 4. 29.
이미지 픽셀정보 직렬화 - C++ / GDI+ 개발환경 >> Visual Studio 언어 >> C++17이상 운영체제 >> Windows10 안녕하세요!!!!!ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 저가 왜이렇게 기분이좋으면서 슬프냐면, 오늘하루종일 이미지파일 직렬화와 역직렬화를 연구하고, 직접 모두 구현했습니다. 바로 알려드리겠습니다!!!!! +추가로 이것만있으면 소켓통신으로도 활용하여 이미지전송과 받아오기가 자유롭게 가능합니다요!!ㅠㅠㅠ 파이썬이랑 C#으로는 옛날에 구현해봤는데, C++로는 처음구현해보는거라서 재밌더라구요 ㅋㅋbb --소스코드 설계하고 코딩하는데 총 약7시간정도 썼네요 C++ / GDI+ / 이미지파일 (역)직렬화하기 #pragma once #pragma comment(linker, "/SUBSYSTEM:CONSOLE") //콘솔사용 명시 #.. 2021. 4. 15.
DragonGUI 1.0.0 배포 [ GUI앱을 쉽게 만들어보자! ] 안녕하세요 이번에 배포할 자작 응용프로그램은 DragonGUI입니다. 우선은 본 프로그램의 최종목적은 사용자가 직접 쉽고 간편하게 GUI애플리케이션을 만들도록 도와주는것입니다. 이번에는 시간이 없기때문에 빠르게 진행하겠습니다. 다운로드 DragonGUI_1.0.0.zip drive.google.com 우선은 지금은 시간이없어서 구글드라이브로 공유하지만, 나중에 시간남을때 Github로도 공유링크 올리겠습니다. [ 시연영상 ] youtu.be/wl9_6SVffCM 2021. 4. 14.
C++ 와 Lua 연동하는법 안녕하세요! 이번에 연동하기 바로 시작하겠습니다! 먼저 아래 사이트는 Lua공식 홈페이지입니다! www.lua.org/ The Programming Language Lua www.lua.org 그중!~ [download] -> [binaries] -> [Installation에서 Lua for Windows]를 들어가주면 다음과같은 윈도우즈설치용 루아패키지가 나옵니다! github.com/rjpcomputing/luaforwindows.git rjpcomputing/luaforwindows Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. NOTICE: Looking for main.. 2021. 4. 7.