그러니깐 이거 해결점..
시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이 때 원하는 파일을 찾으려면 다음과 같이 하면 된다.
dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이 때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다.
이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에는 알파벳과 "." 그리고 "?"만 넣을 수 있다. 가능하면 ?을 적게 써야 한다. 그 디렉토리에는 검색 결과에 나온 파일만 있다고 가정하고, 파일 이름의 길이는 모두 같다.
첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 알파벳과 "." 그리고 "?"로만 이루어져 있다.
첫째줄에 패턴을 출력하면 된다.
문제가 요건데
간단히 말해서
4
abcde
abdde
abcee
abcdd
이렇게 입력되면
ab??? 이렇게 출력되게 하면 되는 거 아니에여?
내가 어떤걸 잘못이해한건지 진짜 지금 대가리로 수용이 안된다
#include <stdio.h>
int main(void)
{
int a, b, n, s = 0;
char str[50][51];
scanf("%d", &n);
for (a = 0; a < n; a++) scanf("%s", str[a]);
while (str[0][s] != '') s++;
for (a = 0; a < n; a++)
{
for (b = 0; b < s; b++)
{
if (str[a][b] != str[a+1][b]) str[a+1][b] = '?';
}
}
printf("%s", str[n - 1]);
return 0;
}
이렇게 코드 쳐서 하면 저대로 나오는데 왜 런타임 오류냐
맞어
코드좀 보고 확인점 해주라
시러
뭐가 문젤까 도대체 내가 어제 잠을 안쳐자서 그런가 걍 병신이라 그런가 뭐가 문젠지 이해가 안간다
http://ideone.com/drwVRS
중간 while() 문에서, '' 이 아니라 ' ' 로 고쳐보세요.
그래도 똗ㄱ같이 런타임 에러 뜨는데.. 왜그럴까
문자열의 끝을 인식하려면 역슬래쉬 + 0으로 해야지 공백으로 하면 쓰냐
' ' 으로 하니까 s가 크기가 2000이 넘게 들어가네 시발
미안 저거 코드 잘못가져온건데 역슬래쉬 0 으로 해도 런타임 에러 떳었다
난 안뜨는데?
윈도우7, 우분투 둘다 while에서 역슬래쉬 0 비교해서 하게 하면 잘만ㄷ ㅚ는데