본문 바로가기

전체 글

(288)
병합정렬 (Merge Sort) 테스트 파일은 삽입정렬과 같지만 인스턴스생성해주는 부분만 바뀌었습니다. 두 조각으로 계속 나누다가 마지막에 하나가 남으면 다시 위로 병합하면서 정렬하는 병합정렬 이번에는 삽입정렬과는 다르게 생성자를 따로 만들지 않았다. 정렬할때 매개변수로 바로 입력값을 넣게 하였다. 실제로 사용자가 쓸수 있는 메소드는 단 하나 sort 메소드 테스트는 수업시간에 나온 예제 숫자입니다. 삽입정렬과 같은 숫자네;; 9 1 3 2 7 5 4 8
삽입정렬 (Insertion Sort) 오늘 배운 삽입정렬이다. InsertionSort.class 가 삽입정렬 클래스 입니다. sort_test.class 는 정렬 테스트를 위한 메인함수가 있는 클래스 입니다. 다른 정렬도 배우는 대로 추가할까 합니다. 멤버변수 data는 배열인데... 오타네요;; int data[] 이게 맞아요; 생성자와 정렬메소드를 제외하고는 외부에서 쓸필요가 없으므로 private로 접근제한 하였습니다. 생성자 함수로 정렬할 배열값을 입력하고 sort() 메소드를 호출하므로써 모든 과정이 끝납니다. sort() 는 정렬된 배열을 리턴합니다. 수업시간에 예제로 나온 숫자들로 테스트 하였습니다. 다른 숫자는 테스트안해봐서... 정확성을 뭐라 말할 수가 없네요;; 9 1 3 2 7 5 4 8
UML 모델링 기초 오랫만에 UML을 끄적여 보다보니... 기본 모델링도 너무 모르고 하는거 같아서...; 책을 참고하여 간단하게 정리해보았다. 기본 클래스를 나타내는 모양이다. 박스안에 3개의 공간으로 구분되어 있는데 첫 번째는 클래스 이름이다. 두 번재는 멤버변수 이다. (+ : public, - : private, # : protected) 세 번째는 메소드 이다. (+ : public, - : private, # : protected) 두개의 클래스를 연결하는 화살표는 연관을 나타내는 표시이다. 이게 많이 헷갈린다;;; A안에 iA라는 변수이름으로 B인스턴스를 15개 가지고 있다는 표시이다. 즉 iA[15] 라는 변수안에 모두 B인스턴스가 있다는 것이다. * 표시는 0개에서 무한개 이다. 자바에서 쓰이는 Vector..
자료구조분석 - 성적관리 수정 (C) 기존에 만들었던 것을 수정하였음. 1. 학번, 이름 출력 2. 입력값 범위 검사 3. 같은 문자 출력부분을 함수화 (printChar) 4. 마지막 결과 확인을 위해 잠시 멈추게 하는 부분을 함수화 (pause) 잉크를 아끼기 위해 배경을 흰색으로 하였음.
'scanf'이(가) deprecated로 선언되었습니다. 비주얼 스튜디오 2005 이상을 사용할때 scanf 같은 함수를 사용할때 지정된 범위의 메모리 영역을 오버해서 위험하다 어쩌다 뭐 그런 내용이라는... 무시하고 그냥 scanf를 써도 되고 아니면 scanf_s 함수를 사용해도 된다고 한다. [MSDN] int scanf_s(const char *format [,argument]...); [Example] scanf_s("%d %d", &kor, &eng);
알고리즘 - Right Dominant Elements 이게 맞는지 모르겠지만 -_-; 오른쪽에 현재의 값보다 모두 작은 수인 것만을 뽑아낸것이 RDE 인가 그런가 보다 -_-; 10,9,5 는 오른쪽에 13 이 있으므로 RDE가 안되고 13 은 오른쪽에 모두 13 보다 작은 값이므로 RDE 이다. 2,7,1 은 8 때문에 RDE가 안된다. 8 은 오른쪽에 모두 8 보다 작으므로 RDE 이다. 4 는 6 때문에 안되고 6,3은 RDE 이다. 과제는 아니지만.. 그냥 해봤음;;
키보드 입력 - 문자열, 숫자 키보드로 입력받는 방법이다. System.in.read(); 이걸로 가능할줄 알았다.. 이건 한문자 밖에 안되더라;;;; 이걸 프로그램 다 완성하고 알았다...;; 그래서 찾은것이 다음과 같이 버퍼, 스트림 객체를 사용하는것이다. String data = null; BufferedReader inBuff = new BufferedReader(new InputStreamReader(System.in)); data = inBuff.readLine(); 이렇게 읽으면 결과가 data안에 문자열로 저장된다. 문자열로 쓰고싶으면 그대로 쓰면되고... 숫자로 쓰고싶으면 data = Integer.parseInt(inBuff.readLine()); 이렇게 바꿔주면 된다. 어떻게 동작되는지도 모르고 막 썼다 -_-; ..
소수점 표시 float형에서 System.out.print 로 출력할 경우 소수점아래가 꽤 많이 나온다. 이걸 줄이는 방법이 다음과 같다. import java.text.NumberFormat; 이건 c의 include랑 비슷한것임 실행코드는 아래와 같음 NumberFormat nf = NumberFormat.getInstance(); // 객체 인스턴스생성 nf.setMaximumFractionDigits(1); // 최대 소수점 자리수 nf.setMinimumFractionDigits(1); // 최소 소수점 자리수 System.out.print(nf.format(std[0].getAverage())); // 위에 설정한 소수점 포맷으로 적용해서 출력 처음에 이걸 검색해서 찾았는데도.. 잘못썼었다. nf.setM..