분류 전체보기107 Part2. C# 기초 다지기(6. 배열의 최대 / 최소 값 구하기) 이번 포스팅에서는 배열의 최소, 최대값을 구하는 방법에 대해서 정리했습니다. 랜덤 배열 생성 최소, 최대값을 구하기 위한 대상으로 임의의 배열을 생성합니다. 그리고 생성된 배열 값들을 확인하기 위해 콘솔화면에 두줄로 출력합니다. Random rnd = new Random(); int[] arr = new int[20]; for(int i = 0; i < arr.Length; i++) { arr[i] = rnd.Next(100); Console.Write("{0,3}{1}", arr[i], (i%10 == 9) ? "\n" : ""); } 위 코드를 실행하면 다음과 같이 두줄로 정렬된 실행 시점에서의 배열값들을 확인할 수 있습니다.(배열값은 랜덤이므로 실행할 때마다 매번 바뀝니다.) 67 46 87 12 .. 2023. 2. 15. [C# WinForm] TextBox / Label / Button Control 이번 포스팅에서는 가장 많이 사용하는 기본 컨트롤인 텍스트 박스, 레이블, 버튼 컨트롤을 사용하는 방법에 대해서 알아보겠습니다. 폼 디자인하기 Form1.cs[디자인] 화면에서 TextBox, Label, Button 컨트롤을 배치 후 아래와 같이 디자인합니다. 예제로 만들 프로그램은 두 수를 입력받아 계산 버튼을 누르면 label 컨트롤을 통해 결과가 출력됩니다. label3은 계산 결과가 표시되는 부분으로 text 속성은 "label3"에서 ""로 변경합니다. [컨트롤 속성 설정] 1. Form1 - text : "두 수 더하기" 2. label1 - text : "+" 3. label2 - text : "--------------" 4. label3 - text : "" 5. button1 - te.. 2023. 2. 14. Part2. C# 기초 다지기(5. Random 클래스) 이번 포스팅에서는 C#에서 랜덤값을 만들어 주는 Random 클래스에 대해서 정리했습니다. Random 클래스 객체 생성 C#에서 랜덤 값을 만들려면 아래와 같이 Random 클래스의 객체를 생성해야 합니다. Random rand = new Random(); // 랜덤 객체 생성 Next() 메서드 Random 클래스는 int형, byte형, double형과 같이 타입별로 랜덤값을 생성시킬 수 있는 메서드들이 있습니다. 다음 예는 int형에 대한 랜덤값을 생성시키는 Next() 메서드의 사용법입니다. using System; using System.Data; namespace Random_exam { internal class Program { static void Main(string[] args) {.. 2023. 2. 14. C++ 기초(직원 관리 시스템 - 사용자 인터페이스) 이번 포스팅은 직원 관리 시스템의 마지막 내용으로 사용자 인터페이스 부분에 대해서 정리했습니다. 사용자는 콘솔화면에 나타나는 텍스트 기반 메뉴를 사용하여 직원 데이터를 관리합니다. 인터페이스(Interface) 클래스 정의 화면에 메뉴를 출력하고 사용자가 선택한 동작을 수행하는 함수를 별도의 인터페이스 클래스로 정의했습니다. 아래 예제는 인터페이스 클래스의 정의 부분이며, 멤버 변수는 없고, 오로지 멤버 함수로만 이루어져 있습니다. #pragma once namespace Records { class Database; //전방 선언 class Interface { public: Interface() = default; int displayMenu(); //콘솔화면에 사용자 메뉴를 보여준다. void do.. 2023. 2. 13. Part2. C# 기초 다지기(4. 배열의 정렬) 이번 포스팅에서는 배열의 요소들을 오름차순과 내림차순으로 정렬하고 사용하는 방법에 대해서 정리했습니다. 오름차순 정렬 배열을 정렬할 때 Array 클래스의 Sort() 메서드를 사용합니다. 이 메서드는 기본적으로 오름차순 정렬을 수행합니다. 다음은 한국어, 영어 알파벳을 오름차순으로 정렬하는 예제입니다. using System; using System.Data; namespace MultiArray_exam { internal class Program { static void Main(string[] args) { Console.WriteLine("======한국어 알파벳===="); string[] alphabat_KO = { "가", "라", "마", "나", "다", "바" }; PrintArray.. 2023. 2. 12. 3D Moire Scanner 개발 - 높이 맵(Height Map) 계산 이번 포스팅에서는 지난 시간 계산 했던 위상 맵에 이어 이를 활용한 최종 높이 맵을 계산하는 과정에 대해서 정리했습니다.위상 펼침(Phase Unwrapping) 지난 시간 계산했던 위상맵은 한 가지 문제점이 있습니다. 그것은 위상이 주기적으로 반복된다는 것입니다. 위상맵의 한 단면을 Profiling 해보면 다음과 같습니다.위상과 높이의 관계는 서로 비례 관계라서 위 위상처럼 주기적으로 나타나게 되면 높이 또한 주기적으로 변하는 모습을 갖게 됩니다. 따라서 이런 주기적인 위상들을 서로 이어서 주기성을 없애야 합니다. 이것을 위상펼침(Phase Unwrapping)이라고 합니다.개념은 매우 간단해 보이나 실제 적용 시에는 2D map의 노이즈와 주변 픽셀과의 관계들도 고려해야 하는 등 상당히 고급 알고리.. 2023. 2. 10. 이전 1 ··· 3 4 5 6 7 8 9 ··· 18 다음