C 언어에서 단계수를 결정하는 부분에서 몇가지 궁금한 점이 있습니다.
나미
질문 제목 : c로 쓴 자료구조론 책을 공부하면서 궁금한 점질문 요약 :단계수 결정을 하는 부분에서 count 를 해주어야하는 부분은 어디인가에 대한 궁금증인데요,질문 내용 :/* 2 x 2 행렬이라고 가정합니다. */void printmatrix(int matrix[][2],int rows,int cols){ // matrix[2][2] 이며 row 와 cols 로 각각 2가 전달 됩니다.
int i,j;
for (i=0;irows;i++){
//count++; i for 루프
for(j=0;jcols;j++)
//count++; j for 루프
printf(%d, matrix[i][j]);
//count++;
}
printf(\n);
//count++;
}라는 코드에서단계 수를 계산하는 것이 함수에 첨가되도록 프로그램을 재작성하는 것이 문제입니다.i 에 대한 for 문이 row+1 만큼 돌고 j 에 대한 for 문이 rows*(cols+1) 만큼,
그리고 j 에 대한 for 문의 내용이 rows*cols 만큼 돌 것이라고 테이블 방식을 이용하여 계산을 해보았습니다.그럼 2rows*cols + 2rows + 1 이 총 단계를 구하는 식이 됩니다.그래서 2*2 행렬 일 경우 총 단계는 2*2*2 + 2*2 + 1 로 합이 13 단계가 됩니다.위의 코드에서 주석부분을 해제하여 count++ 를 살리면 그 합이 13 이 됩니다.그런데 바로 여기서 궁금한 점이 생기네요;머릿속으로는 for 루프들의 단계에 대해서 충분히 이해가 가는데,
막상 코드를 보니까 printf 문이 count 되고 있는 느낌이라서...위쪽에서 i 와 j 변수가 비실행문으로 count 를 하지 않는데,
printf 가 실행문이어서 count 를 하는건지, 아니면 for 문 자체가 도는 횟수를 count 하는건지.. 궁금하네요.질문이 조금 애매한가요;;
이걸로 고민하다보니 너무 머릿속이 꼬여있어서 죄송합니다;;
-
맞손질
아 ! 단순화를 보니까 알겠네요. printf가 있어서 연산 카운트를 하는게 아니고 반복문에 대한 카운트를 하는거군요. 고맙습니다.
-
빗줄기
반복문제어를 하는 부분도 분명히 연산에 들어갑니다. 하지만 반복되는 내용이 클 때는 반복제어에 필요한 연산이 큰 의미를 갖는 시간이 소요된다고 보기 힘들지요. 그리고 배우는 다계이다보니 단순화하는 것ㄱ도 있겠습니다
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |