UNIT 47
, 강 희진님이 작성1. 47.6 심사문제에서
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int num, length;
char s1[25];
scanf("%d %s", &num, s1);
length = strlen(s1);
if (num > length)
{
printf("wrong");
goto EXIT;
}
int i = 0;
int j = 0;
for (;i < length - num+1;i++);
{
for(;j<num;j++)
{
printf("%c", s1[i + j]);
}
printf("\n");
}
goto EXIT;
EXIT:
return 0;
}
이렇게 만들었는데 바깥쪽 for이 제대로 돌아가지 않는데 왜그런 건가요?
2. 47.2에 단어단위로 N-gram하는 거에서 while에서 공백을 기준으로 자른 포인터를 배열에 저장하는게 나오는데 문장도 넣는게 가능한가요? 그러면 왜 이전에 할 때 문자 일일이 넣었나요?
Re: UNIT 47
, 도장_ 관리자님이 작성UNIT 47.2에서는 글자 단위 N-gram과 단어 단위 N-gram 두 가지를 보여줬습니다.
두 가지의 처리 방법이 다르다는 점을 보여주는 예제이니 두 예제를 비교해보세요.
반복문을 왜 그렇게 작성했는지는 알 수 없습니다만,
중첩 반복문을 다음과 같이 작성했다고 가정해보세요.
int i = 0;
int j = 0;
for(; i < 10; i++)
{
for(; j < 10; j++)
{
printf("%d, %d\n", i, j);
}
}
여기서 j 루프는 몇 번 실행될 수 있을까요?
직접 실행해보면 알 수 있습니다.
UNIT 31.1을 복습해보세요. 중첩 루프 사용하기가 설명되어 있습니다.