반응형

IT 프로그래밍/자료구조 38

vector에서 원소의 삽입과 삭제

vector 원소 삽입 삭제vector의 맨 뒤에 원소를 삽입할 때는 push_back을 사용합니다. 맨 마지막 원소를 삭제할 때는 pop_back을 사용합니다. 그럼 맨 앞이나 혹은 가운데 삽입할 때는 어떻게 해야 할까요?#include #include #include using namespace std;int main() { vector sentence{"how", "is", "programming"}; //First try sentence[1] = "fun"; for (auto word : sentence) cout sentence2{ "how", "is", "programming" }; sentence.at(3) = sentence2.at(2); //인덱스 연산자 [] 대신 at을 쓰면 ind..

[C언어] 주소록 프로그램 strtok에 대한 설명

C를 통한 주소록 프로그램#include #include using namespace std;#define MAX_PERSON 1000#define MAX_LEN 300struct person { char* name, * address; char* phone, * email, * web;};typedef struct person Person;Person directory[MAX_PERSON];int n = 0;구조체 Person의 배열을 사용합니다. n은 저장된 사람수이며 최대 1000명을 저장할 수 있습니다.  typedef 을 이용해서 struct person를 Person이라고 부르겠다라는 뜻입니다. 파이썬의 Numpy as np와 비슷한 기능이라고 생각하시면 됩니다.  Person에 directo..

[C++] string 클래스와 getline 사용법

STRING을 사용하는 여러가지 방법#include #include using namespace std;int main() { string s0; string s1("hello"); string s2 = "hello"; string s3 = string("hello"); string s4("hello"); string s5 = { "hello" }; string s6 = s5; string s7(s5); cout 이렇게 중괄호를 써도 되고 다양한 방법으로 string을 생성할 수 있습니다. s0은 empty string입니다.  c++ string은 하나의 독립적인 개체로 보기 때문에 복사가 가능합니다.  #include #include using namespace std;int main() { stri..

[C언어] 문자열 string, fgets 설명

stringC에서의 문자열은 char 타입 배열에 저장됩니다. 각 칸마다 하나의 문자가 저장되는데요.char str[6];str[0] = 'h';str[1] = 'e';str[2] = 'l';str[3] = 'l';str[4] = 'o';str[5] = '\0';null character('\0')는 문자열의 끝을 표시하는 역할을 합니다. 즉 배열의 크기가 문자열의 길이보다 적어도 1만큼 길어야합니다.  c언어는 문자열을 생성하는 편리한 방법을 제공합니다.char str[] = "hello"; //길이가 6인 문자배열이 만들어지고 "hello"와 \0 까지 저장된다.char *str = "hello"; //이것은 수정이 불가능하다. string.h 라이브러리의 다양한 함수strcpy 문자열 복사strle..

텐서플로우와 Linear regression, Cost function

텐서플로우 구조먼저 그래픽을 만듭니다. 그 다음 sess.run으로 실행시키는데요. 그리고 그래프를 업데이트 해주는 것입니다. 그래프 실행 값을 던져줄 때a = tf.placeholder(tf.float32)b = tf.placeholder(tf.float32)adder_node = a + bprint(sess.run(adder_node, feed_dict = {a: 3, b: 4.5}))print(sess.run(adder_node, feed_dict = {a: [1,3], b: [2.4]}))이렇게 placeholder로 던져줄 수 있습니다.  regression(Linear)가설Linear한 모델이 우리 데이터에 맞을 것이다 라고 가정을 합니다. 가정을 했을 때 Linear 즉 선을 긋습니다. 가능..

동적 메모리 할당과 동적 객체 생성

동적 메모리 할당변수를 선언하는 대신 프로그램의 요청으로 메모리를 할당받는 방식입니다. C에서는 malloc 함수를 호출하여 동적메모리할당을 요청하면 요구하는 크기의 메모리를 할당하고 그 시작 주소를 반환합니다. C++에서는 new 연산자를 사용합니다. new 연산자는 생성된 객체의 주소를 반환합니다.  malloc 함수int n;scanf("%d", &n);int* p = (int*)malloc(n * sizeof(int));if (p = NULL) { /*동적 메모리 할당이 실패*/ /*적절한 조치를 취한다.*/}p[0] = 12;p[1] = 24;*(p + 2) = 36; 배열 재할당동적으로 생성된 배열은 공간이 부족할 경우 더 큰 배열을 생성하여 사용할 수 있습니다. int *array = (in..

포인터, 배열, 포인터 산수

배열과 포인터의 관계int a[10]; 이라는 배열이 있다고 가정을 합시다. 배열의 이름 a는 배열의 시작 주소를 저장하는 정수형 포인터 변수라고 생각을 해도 됩니다 ( 단 저장된 주소값을 변경할 수 없으니 int * const 타입이라고 생각하면 됩니다) 배열의 매개변수 예시 코드#include using namespace std;int calculate_sum(int* array);int main() { int sum; int num[10]; for (int i = 0; i > num[i]; sum = calculate_sum(num); double average = (double)sum / 10; cout  배열의 평균을 구하는 코드입니다. 배열이 매개변수로 넘어올 때 int array[] 대신 이..

포인터에 관한 기본적인 개념 설명 및 예제

포인터는 메모리 주소를 값으로 가지는 변수입니다. int * ptr;이런 식으로 구성이 되어 있습니다. 예제1#include using namespace std;int main() { cout 해당 코드는 sizeof를 판별하는 코드입니다. 포인터에 대한 개념을 개관적인 코드를 통해 이해할 수 있습니다.  예제2#include using namespace std;int main() { int* pt1, *pt2; int x = 3, y = 2; pt1 = &x; pt2 = pt1; y = *pt2;}포인터의 개념을 다루고 있습니다. int *pt1, *pt2; 두 개의 정수형 포인터를 선언하며 이 포인터들은 정수형 변수의 주소를 저장할 수 있습니다.  int x =3, y= 2; 두 개의 정수형 변수를 ..

반응형