분류 전체보기347 [Kwant] Further-than-nearest-neighbor cells are connected by hopping Let's assume that we consider hoppings over the one unit cell. Then when you try to finalize the lead in KWANT, the message of "Further-than-nearest-neighbor cells are connected by hopping" occurs. Then, how do we solve this problem? There are two possible options to solve the problems [1]; (1) Extend translational symmetry of the lead (2) Use wraparound method in KWANT In order to illustrate tw.. 2021. 2. 9. [C 언어] 텍스트 파일의 총 개행 수 구하기 아래와 같이 grade.txt와 같은 텍스트 파일이 있다고 하자. 이때, 해당 파일의 총 개행 수를 구해보자. 파일: grade.txt 0001 Tommy 22 A 0002 Grace 25 B 0003 Landau 53 A 0004 Tim 19 A 0005 Einstien 66 D 0006 Newton 100 A 0007 Hawking 50 C 0008 Feynman 20 B 0009 Bohr 35 A 코드 #include #include int main(void){ int count_line = 0; char *f_name = "./grade.txt"; char tmp; FILE *open_file; open_file = fopen(f_name, "r"); while(fscanf(open_file, ".. 2021. 2. 6. [Bash/Shell script] 디렉토리 리스트 출력 1. ls 명령어를 이용하여 현재 작업 디렉토리의 리스트를 출력하고자 하는 경우 • command: ls -d */ - 반드시 "/"를 적어주어야 한다. 적어주지 않을 경우, 현재 디렉토리를 의미하는 "."만 출력된다. 2. ls 명령어를 이용하여 현재 작업 디렉토리의 하위 디렉토리 리스트를 출력하고자 하는 경우 • command: ls -d */*/ - 하위 디렉토리가 없는 경우, 출력되지 않는다. 2021. 2. 5. [Bash/Shell script] Sort 함수 정리 Sort 함수 sort는 텍스트로 된 파일의 행 단위 정렬을 할 때 사용하는 명령어이다. 이 명령어를 이용하면, 프로그램, 쉘 프로그램 등의 입력 값으로 사용되는 데이터를 직접 정렬 또는 편집할 때 편리사게 사용할 수 있다. 1. Syntax of sort sort ※ NOTE 1: 기본값으로써, sort 함수는 주어진 텍스트 파일을 오름 차순으로 정렬한다. ※ NOTE 2: sort 명령어는 숫자를 문자로 인식하고 표준 문자 정렬을 한다. - 따라서, 숫자로 정렬하기 위해선 -n 옵션을 사용해야 한다. ※ 옵션 옵션 설명 -r 내림 차순 정렬 -k 텍스트 파일을 번째 필드를 기준으로 정렬 -u 중복된 내용을 하나로 취급하여 유일 정렬 -t 필드 구분자로 를 사용한다 -n --numeric-sort 숫자.. 2021. 2. 5. [C 언어] 헤더파일 및 분할 컴파일 정리 A. 헤더 파일 1. 헤더 파일(Header file)이란? • 일반적으로 C/C++언어에서는 명령어 및 함수를 정의하고 있는 별도의 파일 (헤더 파일)을 포함한다. • 헤더 파일에서는 다음과 같은 정보를 포함한다. - 사용자가 정의한 구조체 및 공용체의 정의, 데이터형의 정의, 클래스, 함수, 매크로 등의 프로토 타입 - 그러나 실제 함수 코드는 헤더 파일이 아니라 컴파일된 코드로 구성된 라이브러리 파일에 들어있음 • 대표적인 헤더 파일 - stdio.h : (Standard Input/Output) 표준 입출력에 관련된 함수들을 정의 - math.h : sqrt(), pow(), abs() 등의 수학 관련 함수 정의 - stdlib.h : 표준 라이브러리 함수 정의 2. 왜 헤더 파일을 사용해야 하는.. 2021. 2. 5. Shell script 명령어 bash shell의 경우, 아래의 두 가지 방법을 통해서 파일 및 디렉토리 존재 여부를 확인할 수 있다. (1) if 명령문 (2) test 명령문 #!/bin/bash # 디렉토리 존재 유무 확인 If [ ! -d 디렉토리명 ] ; then mkdir 디렉토리명 fI # 파일 존재 유무 확인 If [ ! -e 디렉토리명 ] ; then touch 파일명 fI test 명령어: - syntax: test - return True/False (파일 및 디렉토리가 존재하면 True) - (1) -f: 파일 (2) -d : 디렉토리 (3) -x : 파일의 존재 여부 및 실행 여부까지 확인 2021. 2. 5. [GitHub] Working directory, stage, commit 내용 정리 아래의 내용들은 『Git 교과서』 내용을 개인적으로 정리한 내용들입니다. 1. Working Directory, Stage, and Repository 깃은 VCS의 특성 상 저장 공간을 논리적으로 분할한다. 깃에서는 저장 공간을 크게 3가지로 나눈다; • 작업 공간 (Working Directory) • 임시 저장 공간 (Stage) • 실제로 저장하는 공간 (Repository) 1) Repository Git은 작성한 소스코드 파일의 모든 변경 사항을 관리하며, 파일들의 변경 내역을 저장소 (Repository)에 저장을 한다. 이러한 저장소는 크게 로컬 저장소와 원격 저장소로 나누어진다. (1) 폴더와 깃 저장소 •깃 저장소는 폴더와 외형적으로 비슷하다. •깃 저장소의 내부 구조 - 깃 저장소에는.. 2021. 2. 3. [C 언어] 2차원 동적 배열 만들기 1차원 동적 배열을 만드는 것은 단순히 다음과 같이 malloc()함수를 이용하면 된다. ex) 만약 사용자로부터 임의의 정수를 받은 후, 그 수의 크기에 해당하는 배열을 만든다고 가정을 하자. int input_n; scanf("%d", &input_n); int *array = (int *)malloc(sizeof(int) * input_n); • (int *)malloc(sizeof(int) * input): int 형의 input_n 칸짜리 배열을 메모리에 할당 후, 해당 주소를 반환 2차원 배열을 동적으로 할당하는 경우, 아래와 같이 크게 두 가지의 이슈가 있다. • 배열의 원소가 인접해야하는지 • 배열이 가변적이어야 하는지 2차원 동적 배열 만들기 ※ 2차원 동적 배열 만들기 요약 (1) 이중.. 2021. 1. 31. [C 언어] fopenmp - 스레드 하나만 사용하는 경우 c로 작성한 소스코드를 컴파일을 하고 링크를 하여 실행 프로그램을 만든 후, 해당 프로그램을 실행시키니 코어 하나만 사용을 하는 문제가 발생하였다. 확인을 해보니 컴파일시 -fopenmp를 링크를 걸어주지 않음으로 발생한 문제였다. 다행히 나와같은 문제점을 올린 사람이 있어서 해결방법을 쉽게 찾을 수 있었다 [1]. 아래는 위 링크의 코드 및 컴파일, 링크의 예시이다. 파일명: main.c #include #include int main() { #pragma omp parallel { fprintf(stderr, "thread %d\n", omp_get_thread_num()); } return 0; } (1) 컴파일: $gcc main.c -c -fopenmp (2) 링크: $gcc main.o -o .. 2021. 1. 30. 이전 1 ··· 24 25 26 27 28 29 30 ··· 39 다음