#include<stdio.h>
#include<stdlib.h>
#define MAX 20
void menu(int *arr,int n,int i,int j,int temp,int c);
void enter(int *arr,int i,int n,int j,int temp,int c);
void dd(int *arr,int i,int j,int temp);
void dd(int *arr,int i,int j,int temp)
{
printf(\"%d %d\",temp,j);
}
void menu(int *arr,int n,int i,int j,int temp,int c)
{ while(1)
{ printf(\"\\n1.오름차순 정렬\\n\");
printf(\"2.내림차순 정렬\\n\");
printf(\"3.입력\\n\");
printf(\"4.제거\\n\");
printf(\"5.출력\\n\");
printf(\"0.종료\\n\");
scanf(\"%d\",&c);
if(c==1)
enter(arr,i,n,j,temp,c);
else if(c==2)
dd(arr,i,j,temp);
}
}
void main()
{ int c=0;
int i=0;
int j=0;
int n=0;
int temp=0;
int arr[MAX];
menu(arr,n,i,j,temp,c);
}
void enter(int *arr,int i,int n,int j,int temp,int c)
{ temp=0;
j=MAX-1;
while(1)
{ scanf(\"%d\",&n);
if(n%2==1)
arr[temp++]=n;
else if(n==0)
break;
else if(n%2==0)
arr[j--]=n;
}
for(i=0;i<temp;i++)
printf(\"%3d\",arr[i]);
for(i=j+1;i<MAX;i++)
printf(\"%3d\",arr[i]);
}
홀수를 입력하면 0부터 19까지 짝수를 입력하면 19부터 0까지 이런식으로 값이 입력됩니다
근데 제가 temp랑 j를 다른함수에서도 같은 값으로 쓰고싶은데 어떻게 해야 할까요
함수는 void문으로 써야합니다
문제가 뭐야 ? 나 난독증 왔나;; ㅋ
enter에 입력된 j와temp값을 다른함수에서도 쓰고싶습니다<<
근데 이거 실행하면 곧바로 꺼지지 않음 ?
a함수 b함수 있으면 b함수에서 a함수 쓰고 싶으면 a함수에서 리턴한다음 b함수 안에서 a함수 호출시키면 가능하지 않음 ?
void문이라 리턴문을 쓸수없구요
저게 1번이 입력이고 2번은 따로 출력할꺼로 만들생각이라서요 ㅠ
관심이 생기는데요 ? 문제좀 자세히 알려주세요 저도 풀어보고 싶네요
mathunix@naver.com 네톤
숫자 입력을 받아서 홀수는 배열의0번부터 짝수는 20번부터 0번 순으로 입력 받아서
출력하는거에염;;
포인터를 인자로 하면 되잖아
함수는 void형으로 해야한다 ㅋ!
지금 그거 할라고 했는데 ㅋㅋㅋ 통했네 ㅋ
포인터 쓰면안되는감?
temp와 j를 전역변수로 지정하면 되는거 아닌가요??
d님 있나요 ? 해결 하심 ?
d 님 해결함 ? ? ? ?
http://codepad.org/HDbcoiCC
참고해라
전역으로 선언하면 간단하다..