다름이 아니라 수업을 듣다가 auto라는 변수선언 하는 방식이랑 Templete를 사용하는 방식의 차이가 갑자기 궁금해서 물어보게 되었습니다. 물론 차이가 있다는걸 알지만 좀더 명확하게 알려 주실수 있는지 확인하고 싶어서 남겼습니다. ex) template<typename T> T getMax(T x, T y) { return (x > y) ? x : y; } 은 되지만 auto getMax(auto x, auto y) { return (x > y) ? x : y; } 는 안되는걸로 아는데 혹시 다른 부분에 있어서 안되는것이 있는지 궁금해서 질문 남겨드립니다.
앞에서 말씀하신것처럼 문자열 접근은 c가 편하다고 하신게 왜인지 알 것 같습니다ㅠ 주로 했던 언어는 c++이라 c로만 준비하려하니 어색해 서 그런데 c로 이해하고 진도만 먼저 나가도 되는걸까요..? 아니면 c++로 바꿔보는 연습도 해야되는걸까요? 같은듯 다른거 같아서 질문드립니다
선생님께서 레퍼런스를 사용하라고 하셨는데, 왜 저는 바뀌어서 출력되죠?ㅠㅠㅠ 아래 코드처럼 작성하면 정상적으로 10이 출력돼요... 항상 좋은 강의 감사합니다~ const int fibonacci[] = { 0,1,1,2,3,5,8,13,21,34,55,89 }; for (int number : fibonacci) { number = 10; cout << number; cout << endl; }
안녕하세요! 궁금한것이 생겨서 질문드립니다! 저는 문제를 처음 봤을때 나이를 나타내는 940909-~~ 의 94를 문자열로 추출해 정수로 바꾸는 방식을 생각했었습니다. 그래서 string 변수에 94 문자를 저장하여 정수로 바꾸는 과정에서 atoi라는 함수가 있더군요 이런 라이브러리의 함수를 사용하면 안되는건가요? 아스키코드로 접근하는것이 더 효율적이라 저렇게 접근하신거고 이렇게 접근해야 코딩테스트의 방향성에 맞는것인가요?
복사생성자 부분을 주석처리하고 Fraction frac(3,5); Fraction fr_copy=frac; 을 디버그해보니 클래스 안으로 들어가지도 않고 바로 복사가 됩니다. 이렇게 해도 복사가 바로 되는데 복사생성자를 사용하는 이유는 무엇인가요? (다음 강의를 보면 이해가 되는건가요?) 1차원적인 질문만 계속하니 쑥쓰럽네요.. 교수님 늘 감사드립니다.
안녕하세요 교수님! 2.7 문자형 char 강의 중 약 13분에 나오는 예제에 대한 질문입니다. 예제에서 c1을 입력받을 때 65를 입력해봤습니다. 출력하기 전에 제 예상으로는 c1은 char형(문자형)이고, 숫자를 입력하면 ASCII코드에 따라 그 숫자에 맞는 문자가 나올 것이라고 생각했습니다. (char c1(65);에서 c1값을 출력했을 때와 같을 것이라고 예상했습니다.) 그런데 제 예상과는 다르게 c1에 ASCII코드 'A'에 해당하는 65를 입력했더니 c1의 값은 6으로 출력이 되었습니다. (ASCII코드도 6에따라 54로 출력되었습니다.) 왜 여기에서는 A가 아닌 6이 출력이 되는지 궁금합니다. 아래에 코드와 출력화면을 첨부합니다. 감사합니다:) #include <iostream> #include <limits> int main() { using namespace std; char c1(65); cout << c1; cin >> c1; cout << c1 << endl; cout << static_cast<int>(c1) << endl; return 0; }
(이전 질문 삭제 및 수정 후 다시 질문드립니다:) ) 교수님 안녕하세요, 2.6강 bool 예제에 대한 질문입니다. (19:53초) 교수님께서 "정수 하나를 입력받고 그 숫자가 홀수인지 짝수인지 출력하는 프로그램을 만들어봅시다."라는 과제를 내주셨는데 구현을 아래 코드와 같이 했으며, 홀수 짝수 결과값도 입력값에 따라 잘 출력이 됩니다. 그런데 궁금한 점은, 여기서 제가 사진과 같이 정말 큰 수를 짝수로 입력하게 되면 홀수로 나옵니다. (반대로, 정말 큰 수를 홀수로 입력하게 되면 홀수로 나옵니다.) 이 결과값은 왜 이런지 잘 이해가 되지 않아서 질문드립니다. 감사합니다:) #include <iostream> int main() { using namespace std; int a; cin >> a; if (a % 2 == 0) cout << "짝수" << endl; else cout << "홀수" << endl; return 0; }
아무리봐도 잘못된 부분이 보이지 않는데 count를 print해보았을 때, 왜 count가 7로 나오는지 모르겠습니다.. 혹시 잘못된 부분이 있다면 지적해주시면 감사하겠습니다. #include<iostream> #include<stdio.h> #include<vector> using namespace std; int main() { freopen("input.txt", "r", stdin); int n, count = 1, max = -1; scanf("%d", &n); vector<int> a(n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } for (int i = 0; i < n; i++) { count = 1; for (int j = i + 1; j < n; j++) { if (a[i] < a[j] || a[i] == a[j]) count++; //5 7 3 3 12 12 13 10 11 else break; } printf(" %d", count); if (count > max) max = count; } //printf("%d", max); }