펑~
f형님 사랑합니다
이런 들여쓰기를 알아볼 수 있음? ㄷㄷ
대단한데
k=0;위치 잘못준거 같기도 한데 그거랑 상관없이 안되요 ㅠ
if(ar[i-j]==!'+'&&'-')
i=0, j>0이면 i - j < 0이 되는데 첨자엔 왜 i - j가 들어있음?
위에 지적한 저것도 문제고.. 그냥 총체적 난국인데
제가 전체 풀 소스는 못봐서 판단은 안되는데 아마 ar[i-j]이게 잘못된 것같아요. i가 0, j가 1 일때 오류가 나기때문에 아마 이 부분에서 예외처리라던가 그런게 안된듯 하네요.
!'+'&&'-' 이거 잘못 한거 아니야?
if(ar[i-j]==!'+'&&'-') 이것도 이상하네요
비트연산자 &를 써야하는거 아니야?
ㄴ비트 연산은 아니구 아마 a[i-j]가 +나 -가 아닐때 를 표현하고 싶으셨던것 같은데...
술도 취했고 먼말인지도 모르겠고 메일로 풀소스 보내주면 내일 자고 일어나서 보내줌.....
두번째 반복문은 for(j=0; j< i;j++)을 표현하고 싶었던듯
for문 첨자 바꾸면 i-j는 그냥 j로 바꾸면 되고
(ar[i-j]==!'+'&&'-')는 (ar[j]!='+' && ar[j] != '-')로 바꾸고
이게 j가 1인게 x앞에 무조건 숫자 하나 이상은 있어야되요
C언어초보 // 그렇네요. 고마워요.
ㄴ위에저
if문 밑에 3줄은 n = ar[j] * (int) pow(10.0, i - j - 1)로 바꾸고
k 위치 바꾸고.. 근데 10^n이 들어가는 정도의 숫자가 char로 감당이 되나? 오버플로우를 이용하려는 것도 아닌것 같고
x 이전의 숫자들이 decimal로 표현되어 있는데 그 이전부분을 짤라서 얻어오려는 거구만..
123+456x789같으면 +를 그냥 패스만 하고 123456을 얻어오면 되나? 될리가 없는데
혹시 지금 계산기 만드는거면 수식 parsing해서 tree로 만드는 코드를 찾아보길 바람
뒤에는 ^라 뒤에 얻는것도 따로 있으어요 방정식
15x^2+5x^1이런거
예전 계산기 만들때 중위표기식으로 바꿔서 했었는데.. 한번 알아보세요.
아 방정식이구나.
들여쓰기ㅋㅋㅋ
이해는 했는데... 이건 뭐 스무고개도 아니고
그럼 내가 위에 바꿔놓은거 몽땅 다 무시하고 두번째 for문에서 j < max - 1만 j <= i로 변경한 다음 +랑 - 체크하는부분 제대로 고치고 밑에 else 추가해서 break 집어넣고
sum1 타입은 int로 바꾸던지 아니면 int로 계산한다음 다시 10진수로 바꾸던지 (원본 문제가 뭔지 모르겠음)
return *sum1은 또 뭔지... sum1은 왜 넣어놓은건데?
ㅣㄴ얾아ㅣㅁ 안해
ㅜㅜㅜㅜ sum1 넣은 이유는 입력받은값이 x앞의 붙어있는 상수 14x^3+12x^2+11x^1이 arr이면 여기서 앞에 숫자들만 sum1에넣어서 다시 값보내주는 ㅠㅠ
ㄴ 저임
그럼 뭐 다했네.. sum1 타입은 int로 바꾸고 return *sum1은 지우고 함수 리턴타입도 void로 바꿔버리면 됨
그리고 함수 호출하기전에 sum1 초기화해서 0 집어넣는거 잊지말고
ㄴ 한번 해보고 안되면 다시 돌아올게요 댓글 달아주신 모든 분들 너무너무 감사합니다
이런 들여쓰기를 알아볼 수 있음? ㄷㄷ
대단한데
k=0;위치 잘못준거 같기도 한데 그거랑 상관없이 안되요 ㅠ
if(ar[i-j]==!'+'&&'-')
i=0, j>0이면 i - j < 0이 되는데 첨자엔 왜 i - j가 들어있음?
위에 지적한 저것도 문제고.. 그냥 총체적 난국인데
제가 전체 풀 소스는 못봐서 판단은 안되는데 아마 ar[i-j]이게 잘못된 것같아요. i가 0, j가 1 일때 오류가 나기때문에 아마 이 부분에서 예외처리라던가 그런게 안된듯 하네요.
!'+'&&'-' 이거 잘못 한거 아니야?
if(ar[i-j]==!'+'&&'-') 이것도 이상하네요
비트연산자 &를 써야하는거 아니야?
ㄴ비트 연산은 아니구 아마 a[i-j]가 +나 -가 아닐때 를 표현하고 싶으셨던것 같은데...
술도 취했고 먼말인지도 모르겠고 메일로 풀소스 보내주면 내일 자고 일어나서 보내줌.....
두번째 반복문은 for(j=0; j< i;j++)을 표현하고 싶었던듯
for문 첨자 바꾸면 i-j는 그냥 j로 바꾸면 되고
(ar[i-j]==!'+'&&'-')는 (ar[j]!='+' && ar[j] != '-')로 바꾸고
이게 j가 1인게 x앞에 무조건 숫자 하나 이상은 있어야되요
C언어초보 // 그렇네요. 고마워요.
ㄴ위에저
if문 밑에 3줄은 n = ar[j] * (int) pow(10.0, i - j - 1)로 바꾸고
k 위치 바꾸고.. 근데 10^n이 들어가는 정도의 숫자가 char로 감당이 되나? 오버플로우를 이용하려는 것도 아닌것 같고
x 이전의 숫자들이 decimal로 표현되어 있는데 그 이전부분을 짤라서 얻어오려는 거구만..
123+456x789같으면 +를 그냥 패스만 하고 123456을 얻어오면 되나? 될리가 없는데
혹시 지금 계산기 만드는거면 수식 parsing해서 tree로 만드는 코드를 찾아보길 바람
뒤에는 ^라 뒤에 얻는것도 따로 있으어요 방정식
15x^2+5x^1이런거
예전 계산기 만들때 중위표기식으로 바꿔서 했었는데.. 한번 알아보세요.
아 방정식이구나.
들여쓰기ㅋㅋㅋ
이해는 했는데... 이건 뭐 스무고개도 아니고
그럼 내가 위에 바꿔놓은거 몽땅 다 무시하고 두번째 for문에서 j < max - 1만 j <= i로 변경한 다음 +랑 - 체크하는부분 제대로 고치고 밑에 else 추가해서 break 집어넣고
sum1 타입은 int로 바꾸던지 아니면 int로 계산한다음 다시 10진수로 바꾸던지 (원본 문제가 뭔지 모르겠음)
return *sum1은 또 뭔지... sum1은 왜 넣어놓은건데?
ㅣㄴ얾아ㅣㅁ 안해
ㅜㅜㅜㅜ sum1 넣은 이유는 입력받은값이 x앞의 붙어있는 상수 14x^3+12x^2+11x^1이 arr이면 여기서 앞에 숫자들만 sum1에넣어서 다시 값보내주는 ㅠㅠ
ㄴ 저임
그럼 뭐 다했네.. sum1 타입은 int로 바꾸고 return *sum1은 지우고 함수 리턴타입도 void로 바꿔버리면 됨
그리고 함수 호출하기전에 sum1 초기화해서 0 집어넣는거 잊지말고
ㄴ 한번 해보고 안되면 다시 돌아올게요 댓글 달아주신 모든 분들 너무너무 감사합니다