본문 바로가기

Programming/C & C++

(29)
[C/C++] 동적 2차원 배열 할당 //선언 int i,j,k;//임의변수 int **aMatrix, **bMatrix; int count=1;//임의의 값 할당 int aMatrixMaxA, aMatrixMaxB;//행렬 A의 n x p 크기 변수 int bMatrixMaxA, bMatrixMaxB;//행렬 B의 p x m 크기 변수 bool mulMatrix = false;//행렬 곱 가능한지 확인 //A,B 행렬 크기 지정 cout aMatrixMaxA >> aMatrixMaxB ; cout bMatrixMaxA >> bMatrixMaxB ; //입력 //행렬 A 크기 동적 할당 aMatrix = (int **)malloc(sizeof(int*)*aMatrixMaxA); for(i = 0 ; i < aMatrixMaxA ;i++) {..
[C/C++] Bubble Sort (버블 정렬) #include void b_sort(int data[], int size) { int tmp = 0; int i, j; int comparison = 0; int swap = 0; for (i = 0; i data[j+1]) { tmp = data[j+1]; data[j+1] = data[j]; data[j] = tmp; swap++; } } } printf("Comparisons %d\n", comparison); printf("Swap %d\n", swap); } 위의 코드는 버블소트 알고리즘을 그대로 표현해주고 있으며 O(n^2)의 시간복잡도를 보여준
[C/C++] 함수 템플릿(Templete) 함수 템플릿 - 함수의 일반화 서술 template void Swap(T &a, T &b) { T temp; temp = a; a = b; b = temp; } 명시적 특수화 함수 이름이 하나 주어지면, 사용자는 템플릿이 아닌 함수, 템플릿 함수, 명식적 특수화 템플릿 함수를 가질수 있다. 명시적 특화를 하기 위한 원형과 정의 앞에 template가 와야 한다. 그리고 그 특수형의 이름을 서술해야한다. Test형 구조체를 교환하는 세 가지 형식의 함수원형 //템플릿이 아닌 함수 원형 void Swap(Test &, Test &); //템플릿 원형 template void Swap(T &, T &); //Test형을 위한 명시적 특수화 template void Swap(Test &, Test &); 세 가..
[C/C++] Random Define(효율적인 랜덤 값 사용) #define random(a) (int)(rand()/((RAND_MAX+1)/(double)(a))) 사용 예 : random(10) => 0~9 사이 값
[C/C++] 수행 시간 체크 함수 #include "stdio.h" #include "time.h" void main() { clock_t before; double result; before = clock(); for ( int i = 0; i
[C/C++] 동적 1차원 배열 할당 및 재할당(realloc) double* DataOpen::readData(char* dataName) { FILE *file; double* textData; textData =(double*)malloc(sizeof(double)*3); file = fopen(dataName, "r"); int k, countIdx = 0; while(fscanf(file, "%d", &k) > 0){ textData[countIdx] = k; countIdx++; } textData =(double*)realloc(textData,sizeof(double)*countIdx); fclose(file); return textData; }
[C/C++] 파일 하나씩 읽어서 배열로 반환 double* DataOpen::readData(char* dataName) { FILE *file; double textData[3]; file = fopen(dataName, "r"); int k, countIdx = 0; while(fscanf(file, "%d", &k) > 0){ textData[countIdx] = k; countIdx++; } fclose(file); return textData; }
[C/C++] Delete File with C++ (C++로 파일 삭제) CFile 클래스를 사용하여 CFile::Remove("파일 경로"); 로 지울 수 있다. 예를 들어 파일의 주소가 C:\test.txt 라고 하면 간단하게 CFile::Remove("C:\\test.txt"); 로 하면 지워 진 것을 확인 할 수 있다.

반응형