작성자 |
|
||
---|---|---|---|
작성일 | 2012-03-15 15:29:56 KST | 조회 | 156 |
제목 |
뭐가 문제일까요?
|
#include <iostream>
using namespace std;
void input(char a[], int c1, char ender[])
{
int c;
c1 = 0;
while((c=getchar()) != '\n')
{
a[c1++] = c;
}
ender[2] = 1;
ender[c1++] = 0;
}
int main()
{
char a[30],b[99],ender[31];
int c1;
int c2 = 1;
int temp;
int c2max;
input(a, c1, ender);
while(a[1] != '#' || ender[2] != 0)
{
b[c2] = temp;
c2 = c2 + 1;
input(a, c1, ender);
}
c2max = c2;
for(c2 = 1; c2 < c2max; c2++)
{
cout << b[c2] << endl;
}
return 0;
}
밑에 있던 그 알고리즘 문제인데
아직 알고리즘은 짜지 않았고요
현재 main의 while 함수 내의 빈 첫번쨰 줄에 알고리즘이 작동되게 하여 b[c2]에 결과값이 하나씩 저장되게 한 뒤에 마지막 for구문에서 저장된 b[c2]값이 한꺼번에 출력되게 할 겁니다.
아직 그 단계 까지 가기 한참 전이니까 그건 제쳐두더라도
자꾸 무한루프가 도네요
일단 main에서 input으로 들어가서 입력을 하게 되는데
마지막에 #을 입력하면(그러니까 #치고 엔터까지) a[1]에 #이 저장되고, c1 이 1이니까 ender[c1++] = ender[2]이므로 ender[2]가 0이 되고, 따라서 main으로 다시 돌아와서 while함수로 가는데 while에 조건을 충족시키지 못하므로 바로 for로 넘어가야 할텐데 자꾸 무한루프하네요.
© PlayXP Inc. All Rights Reserved.