델파이를 공부하는 학생입니다.
지금 에디트1에 숫자를 입력하여 숫자가 짝수면 1부터 입력한짝수번까지의 합과 홀수면 1부터 입력한 홀수번까지의 합이 에디트 2에 출력이 되게 하는거를 만들고있습니다.
밑에 질문에 답을해주셔서 수정을 했는데.....이번문제는 짝수를 넣으면 홀수갯수만큼 빼서 답이 나옵니다. 홀수는 잘나오고요. 죄송스럽지만 다시한번 조언을 부탁드립니다.......
var
sum,sum1,i,a : integer;
begin
a := strtoint(edit1.Text);
sum := 0;
sum1 := 0;
for i:= 1 to a do
if(i mod 2)=0 then
sum:=sum+i
else
if(i mod 2)=1 then
sum1:=sum1+i;
edit2.Text :=inttostr(sum);
edit2.Text :=inttostr(sum1);
end;
end.
[기존소스]
if(i mod 2)=0 then
sum:=sum+i
else
if(i mod 2)=1 then
sum1:=sum1+i;
edit2.Text :=inttostr(sum); // 짝수번까지 합을 Edit2.text에 대입
edit2.Text :=inttostr(sum1); // 홀수번까지 합을 Edit2.text애 대입
보시다 싶이 짝수번까지 합을 Edit2.text에 넣으시고
또 홀수번까지 합을 Edit2.text에 또 넣으시는데
이러시면 결과는 항상 홀수번까지 합이 나오죠
<!--CodeS-->
var
sum,i,a : integer;
begin
a := strtoint(edit1.Text);
sum := 0;
for i := 1 to a do
sum := sum + i;
edit2.Text :=inttostr(sum);
end;
<!--CodeE-->
짝수, 홀수 다 좋은데 딱히 구분할 필요가 있을까요?
제가볼땐 그냥 저런식으로 구현하셔도 무관하실 듯 보이네요 ^^