해답파일 위치를 모르겠습니다
해결됨
독하게 시작하는 C 프로그래밍
달팽이배열 도저히 못풀겠어서 해답을 보고싶은데 어디있는지 찾아도 못찾겠어요ㅜㅜ
- c
- 컴퓨터-구조
- assembly-language
- vc++
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
독하게 시작하는 C 프로그래밍
달팽이배열 도저히 못풀겠어서 해답을 보고싶은데 어디있는지 찾아도 못찾겠어요ㅜㅜ
미해결
홍정모의 따라하며 배우는 C언어
브래이크 포인트를 표시하고 디버그스타트를 눌렀는데 강의처럼 안되어서 문의 드립니다.
해결됨
홍정모의 따라하며 배우는 C언어
안녕하세요 강의 듣던 중 궁금한 게 생겨 여쭙게 됩니다. double average(double * data_array, int n) { printf("Size = %zd in function average\n", sizeof(data_array)); double avg = 0.0; for (int i = 0; i < n; ++i) { avg += data_array[i]; } avg /= (double)n; return avg; } (1) 위의 코드에서 average함수의 매개변수로 포인터변수인 data_array 가 들어와 있습니다. double * data_array 를 arr1[] 로 바꿔도 시스템은 이것을 arr1 배열의 첫주소를 가지는 포인터변수 double * (배열명) 로 인식한다는 것이 정확한 이해인가요? (2) average함수의 매개변수에 배열을 넣든 뭘 하든 시스템은 배열의 첫 주소를 가지는 포인터 변수로 읽어버립니다. 하지만 코드의 중간 쯤에 있는 avg += data_array[i]; 에서 data_array[i] 는 배열의 문법입니다. 물론, 예컨대 arr배열이 있을 때 *(arr+10) 와 array[10] 가 같은 요소를 가져온다는 것은 압니다. 하지만 average함수는 기존에 저희가 적은 배열의 정의를 못 만나봤고, 즉 알지 못하고 그 배열의 첫 주소만 가지고 있는 포인터변수만을 가지고 있습니다. 이 때 data_array[i] 라고 작성하면 시스템이 이것을 내부적으로 *(data_array + i) 즉, (본 강의에서는 배열명이 arr1 이었습니다) *(arr1 + i) 로 바꿔버리나요? 즉, 다시 말해 배열arr1 을 알지 못하고 배열arr1의 첫 주소값이 있는 포인터 변수만을 가지고 있는 함수 average가 어떻게 포인터 문법이 아닌 배열 문법을 쓰는지 궁금합니다. 긴 글 읽어주셔서 감사합니다.
해결됨
김영한의 실전 자바 - 기본편
선생님, 안녕하세요. 내부에서만 사용하는 매서드는 private으로 캡슐화 해두는 것이 좋은 구현이라고 알고 있고, 이번 수업에서도 그런 내용을 확인할 수 있었는데요, private 매서드들도 테스트 코드를 작성해서 테스트 해보고싶은 경우가 자주 발생합니다... 이런 경우 고민을 하다가 몇 가지 방법이 있겠으나 ... 그냥 public 으로 열어버리고 테스트 코드를 두곤 했는데요, 이런 경우에 선생님은 실무에서 어떻게 하셨는지, 가장 좋은 practice가 무엇인지 알고 싶습니다. 항상 감사합니다..^^
해결됨
CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
제목 그대로 kernelMatCpy에서는 각 스레드 작업이 다른 스레드에 영향을 주지 않기 때문에 필요없을 것 같은데요. 실제로 __stncthreads()를 제거하고 돌려봐도 정상적으로 결과가 나오구요. 혹시 이런 경우라도 내부적으로 꼬일 수 있어서 사용하신 것인지 아니면 대부분의 shared memory로 복사해서 쓰는 경우에 필요하기 때문에 습관(?)차원에서 사용하신 것인지 궁금합니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
Hibernate 6에서는 강의에서 처럼 Dialect를 통한 함수 등록이 불가능합니다. https://start.spring.io/ 로 Spring Boot 3버전으로 만드신 분들은 문제를 겪으실 거라고 생각합니다. 등록법 FunctionContributer 의 구현체를 만들어 준다. package custom; import org.hibernate.boot.model.FunctionContributions; import org.hibernate.boot.model.FunctionContributor; import org.hibernate.dialect.function.StandardSQLFunction; import org.hibernate.type.StandardBasicTypes; public class CustomFunctionContributor implements FunctionContributor { @Override public void contributeFunctions(FunctionContributions functionContributions) { functionContributions.getFunctionRegistry() .register("group_concat", new StandardSQLFunction("group_concat", StandardBasicTypes.STRING)); } } src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor 파일을 생성한다. 해당 파일에 직접 구현한 CustomFunctionContributor를 등록한다. 패키지명.컨트리뷰터이름 형태로 등록!! custom.CustomFunctionContributor 이렇게 하시면, 강의에서처럼 group_concat함수를 사용하실 수 있습니다. Dialect는 변경 안하셔도 됩니다. reference https://aregall.tech/hibernate-6-custom-functions
미해결
홍정모의 따라하며 배우는 C언어
안녕하세요 int *a = &b; 코드가 위와 같을 때는 변수 b의 주소를 포인터변수 a에 넣는 걸로 이해했습니다. int *a = 123; 코드가 위와 같을 때도 포인터변수 a 에 123이라는 메모리 주소를 넣는다고 이해해도 될까요?
해결됨
홍정모의 따라하며 배우는 C언어
double year2021[MONTHS] = { -2.4, 2.7, 9.0, 14.2, 17.1, 22.8, 28.1, 25.9, 22.6, 15.6, 8.2, 0.6 }; double year2022[MONTHS] = { -2.2, -1.1, 7.7, 14.8, 19.1, 23.3, 27.3, 25.7, 22.4, 14.6, 10.0, -2.8 }; double year2023[MONTHS] = { -1.5, 2.3, 9.8, 13.8, 19.5, 23.4, 26.7, 27.2, 23.7, 15.8, 6.8, 3.1 }; // 1. 1차원 배열을 2차원 배열로 구현 // 배열명의 값은 배열의 시작 주소와 같다. double* temperature[] = { year2021, year2022, year2023 }; printf("%zd %zd %zd %zd\n", sizeof(temperature), sizeof(temperature[0]), sizeof(*temperature[0]), sizeof(year2021) ); 1차원 배열(2021년, 2022년, 2023년)의 주소를 2차원 포인터 배열의 요소로 초기화했습니다. // 1. 1차원 배열을 2차원 배열로 구현 // 배열명의 값은 배열의 시작 주소와 같다. double* temperature[] = { year2021, year2022, year2023 }; 2중 for문의 내부 for 문의 조건부를 지정할 때 sizeof 연산자를 이용해서 아래같은 방식으로 구현하려고 했습니다. size_t col = sizeof(temperature[0]) / sizeof[double]; for(int j = 0; j < sizeof(temperature) / sizeof(temperature[0]); ++j) { for(int i = 0; i < col; ++i) { // (j, i)번째 요소 출력문 } } 제가 생각한건 'temperature[0]에 저장된 값이 year2021의 메모리 시작 주소와 같으므로 temperature[0]의 값을 역참조하면 year2021 배열 전체를 가리킬 것이다' 였는데 sizeof(*temperature[0]); 이 값이 year2021 의 0번째 double 요소 로 역참조되서 그런지 결과값이 8 로 잡혀서 size_t col = sizeof(temperature[0]) / sizeof[double]; col 의 값이 1 로 계산됩니다.. 어떻게 하면 temperature[0] 을 이용해서 배열 year2021 의 전체 길이 를 반환할 수 있을까요..??
해결됨
김영한의 실전 자바 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] private static method 를 사용하는 이유를 알고 싶습니다. [질문 배경] 영한님의 다른 강의(스프링 강의로 기억합니다.) 중에 아주 단순한 기능을 private static method를 사용하셔서 만드신 걸 본적이 있었습니다. 왜 private 접근제어자를 사용하셨는데, 인스턴스 메서드가 아닌 static 메서드를 사용하셨을까? 궁금하여 여러 검색과 이리 저리 혼자서 생각도 많이 해보고 나름대로 정리했습니다만 뇌내 망상 수준이라.. 영한님의 답변만큼 확실한건 없을 것 같아 질문드립니다. [검색 등을 통해 제가 정리한 내용] 속도 : 인스턴스 메서드의 경우에는 메서드 영역의 virtual table을 거쳐서 이 인스턴스에 매핑되는 메서드를 조회 후 메서드에 접근해야 하지만, static 메서드의 경우에는 그럴 필요가 없어 인스턴스 메서드에 비해 빠르다. -> 이 부분은 제가 여러 정보를 조합한 내용이라 신빙성이 떨어지고, 과연 속도 측면에서 유의미한 차이가 있을까 의문입니다. 객체지향기반의 커뮤니케이션 : private 접근제어자를 명시하여 캡슐화를 하였으나 static 까지 붙여 이 메서드는 내부에서만 쓸 뿐더러 객체지향적으로 대화할 의도가 없으니 거들떠도 보지 말아라 라는 의미를 담고 있는 것이 아니었을까 추측해봅니다.
해결됨
독하게 시작하는 C 프로그래밍
챕터14 필수실습문제 UI와 기능으로 나눠서 세 정수를 입력 받아 최대 값 구하는 문제를 혼자 해보고있는데 해답 파일이 찾아봐도 없는거 같아서요 ! 강사님이 작성하신 해답 예시와 비교해보고 싶은데 알려주실 수 있나요? 저는 이렇게 했는데 맞게 한건지 모르겠습니다 ㅜ 코드는 잘 돌아갑니다 그리고 숫자입력을 받는 부분에서 반복문을 사용할 수도 있을까요? for문을 사용할 수 있을거 같아서 시도 해보는 중인데 중간에 막혀서 궁금합니다. 막히는거보니 반복문을 쓸 수 없는 부분인거 같기도 해서요 ㅜㅜ 숫자 입력 받는 부분을 반복문으로 줄일 수 있을까요?
미해결
HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
안녕하세요 강사님! 강의를 듣고 따라해보다 잘 안되는 부분이 있어 질문드립니다ㅠㅠ 제 개인 보드로 서보모터를 제어할려고 강의를 따라해봤는데 서보모터가 반응이 없습니다. 저는 stlink가 내장되어 있는 보드를 사용해서 그냥 usb로 노트북에 연결해서 전원을 연결해 주었는데 혹시 이 전원이 부족해서 그런 것일까요?? 만약 그렇다면 해결방법은 어떻게 되는지 궁금합니다! 참고로 제 보드는 stm32f429zi discovery 보드입니다
해결됨
독하게 시작하는 C 프로그래밍
음 클로저와 c언어의 함수 포인터 비슷한 느낌인데 차이점은 무엇일까요 클로저란 이름처럼 전역 변수처럼 사용하지만 클로저 함수만 접근 가능하기 떄문에 클로저란 이름을 쓴거 같은데 이점이 함수 포인터와 다른 점일까요... C언어 포인터 질문과 관계가 있는지 몰르겠지만 왠지 클로저 구현을 한다면 포인터를 사용한게 아닐까 싶은생각이 문득 들어서 한번 여쭤봅니다..
미해결
홍정모의 따라하며 배우는 C언어
파일에 저장할 텍스트를 입력하는 것까지는 문제가 없는데 while (fscanf(fp,"%s",words) != EOF) fprintf(stdout,"%s\n",words); 이 문장이 제대로 실행되지 않는 것 같아요
해결됨
독하게 시작하는 C 프로그래밍
예제는 점수 0~100점을 입력 받아서 80점 이상 이면 합격 그렇지 않으면 불합격이라고 출력하는 프로그램 작성입니다. #include<stdio.h> int main(void) { unsigned int input = 0; scanf_s("%d", &input); (input <= 100) ? printf("점수를 입력하세요: %d\n", input) : 0; (input <= 100) ? printf("결과 : %s", (input >= 80) ? "합격" : "불합격") : 0; return 0; } 저는 이런 식으로 코드를 짰는데 잘못된 점이 있는지 궁금합니다. 0~100을 나타내는 코드가 영상에 안 나와서 질문 드립니다.
미해결
C 프로그래밍 - 입문부터 게임 개발까지
상당히 간단한 것일 수도 있겠지만 궁금한데 여러 줄 주석 처리를 할 때 한 번에 묶는 것을 어떻게 하는지 알려주실 분 계신가요?
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요 강사님 배열에 대해서 정말 이해하기 쉽게 알려주셔서 정말 감사드립니다! students[0] = 90; students[1] = 80; students[2] = 70; students[3] = 60; students[4] = 50; 이 선언문을 for문을 활용해서 students[i]가 이전의 값을 계속 참조해서 10씩 증가 즉, students[0] = 60; students[1] = 70; students[2] = 80; students[3] = 90; students[4] = 100; 이렇게 응용한 코드를 작성해보려고 했는데 해당코드가 리펙토링이 잘 된 코드인지 컨펌을 받고 싶습니다.
미해결
홍정모의 따라하며 배우는 C언어
3.4 강의 21분 43초에 나오는 코드랑 똑같이 작성 하였는데 scanf("%f", &Won); 여기에 Warning이 계속 떠 있어요 Description은 Return value ignored: 'scanf'. 이렇게 나와 있습니다. 선생님은 안뜨는데 왜 저만 떠있나요 버전의 차이인가요? _CRT Secure No Warnings은 properties에 입력해두었습니다. #include <stdio.h> int main() { float Won = 0.0f; float USdollar = 0.0f; printf("Input Won\n"); scanf("%f", &Won); <<<<<<<<<<< 이 부분 USdollar = Won * 0.00089f; printf("USdollar = %f\n",USdollar); return 0; } Return value ignored: 'scanf'. 라고 떠있어
미해결
홍정모의 따라하며 배우는 C언어
안녕하세요 강의의 최종 코드 중 일부입니다. ... printf("input one character and two integers:\n"); while ((c = getchar()) != '\n') { scanf("%d %d", &rows, &cols); while (getchar() != '\n') continue; display(c, rows, cols); ... 여기서 A 3 2(엔터) 를 입력하면 상단의 c=getchar()에 의해 getchar이 A를 가져가고 버퍼는 |A 3 2\n| 에서 | 3 2\n| 로 변하게 됩니다.(띄어쓰기 유의) 그다음 scanf("%d %d", &rows, &cols); 는 버퍼의 맨 앞의 띄어쓰기를 읽어야 하지 않나요? 그런데 아시다시피 scanf가 입력버퍼에서 읽는 것은 3과 2입니다. scanf가 띄어쓰기를 읽는다고 알고 있는데 3앞의 공백이 어떻게 처리된건지 궁금합니다. 감사합니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] @OneToMany 어노테이션 사용시 new ArrayList<>(); 를 관례상 쓰는 이유 외에도 다양한 장점들에 대해 자세히 알 수 있을까요? 감사합니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요. 다름이 아니고 다음과 같이 gradle은 8.4 버전이고 자바는 17버전을 사용하고 있습니다. 자바 17은 gradle 실행, complie할때 등등 모든 부분해서 11이 아닌 17을 사용하고 있음에도 불구하고 지속적으로 저런 에러가 발생해서 질문드렸습니다. intellij를 껏다 켜보기도 하였구요