수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

에러는 없는데 실행시 출력결과가 모두 안뜨고 오류나요.

바름

2023.04.01

문제1의 결과는 print_a 로
문제2의 결과는 print_b 로..
문제3의 결과는 print_c로 출력합니다.
그런데 문제2의 출력값이 이상하네요..이것도 가능하시면 좀 고쳐주세요
print_b의 출력값을 결정하는 함수는rankingNptr인데요 여기서
아래와 같은 소스가 이상한거 같습니다.문제1의 결과는 print_a 로
문제2의 결과는 print_b 로..
문제3의 결과는 print_c로 출력합니다.
그런데 문제2의 출력값이 이상하네요..이것도 가능하시면 좀 고쳐주세요
print_b의 출력값을 결정하는 함수는rankingNptr인데요 여기서
아래와 같은 소스가 이상한거 같습니다.
------------------------------------------------------------------
int n, x;
//┌----한배열안에서 요소가 큰순서대로 재배열한다-----┐
for(x=1;x6;x++){
for(n=0;n5;n++){
if(g_sum[n]g_sum[n+1])
{

change(&ranking[n],&ranking[n+1])int n, x;
//┌----한배열안에서 요소가 큰순서대로 재배열한다-----┐
for(x=1;x6;x++){
for(n=0;n5;n++){
if(g_sum[n]g_sum[n+1])
{

change(&ranking[n],&ranking[n+1])
---------------------------------------------------------

[문제]

5명의 중간,기말 성적을 합쳐 sum[5]배열에 저장한후

1.sum배열을 순서대로 출력하고(100점,30점...)

2.sum배열의 순대로 5명의 학번(rank={1,2,3,4,5})를 출력하고

(ex:100점,30점,80점 일때- 1번,3번,2번)

3.rank[5]배열을 가리키는(주소값을갖는) rankptr[5]포인터배열을 이용해 1번과 똑같이 출력합니다.

(ex: 출력하기위한 연산순서: rankptr-ptr-sum )
문제발생

에러는 하나도 안나는데 실행해보면 결과가 이상하고 오류같은게 뜹니다.

아래 빨강색 표시된곳을 바꾸니깐 결과값이 이상하게 됐습니다.

(배열 rankptr는 rank배열의 주소값을 갖는 포인터배열입니다. 즉 포인터를 가지고 있는 배열입니다.

또 파랑색으로 표시한곳은 이상하다고 생각한 곳입니다.

또 print_c 이함수도 좀 체크해주세요..

잘못된것이 있으면 고쳐주세요..

급합니다 ㅠㅠ 부탁드릴게요
다 못하시겠으면 몇개라도 해주세요

꼭 부탁드립니다.//━━━━━━━━━━━━━━━━━━━선언 시작━━━━━━━━━━━━━━━━━━//

#includeiostream

using namespace std;

void rankingNptr(int * const ,int * const ,int * const );//등수 정하고(3번 1등 4번2등...), rankptr로 rank 배열을 가리키게함/*☆*/
void sum(int * const ,int * const ,int, int * const );//sum (중간고사 , 기말고사, 요소수(5명),합을저장할 배열 )/*★*/
void change(int * const, int * const);/*★*/
void print_a(int);//번호순대로 성적(sum)을 찍음 1번 _점/*★*/
void print_b(int);// 성적순으로 성적(sum)을 찍음 1등 _점
void print_c(int,int);// print_c: rankprt에 있는 정보를 시작점으로 하여 rank 정보를 이용하여 grade 배열의 정보를 프린트 합니다.
// 결과는 print_a와 같으나 절차가 다름니다.(rankptr-rank-sum)//━━━━━━━━━━━━━━━━━━━함수 정의 시작━━━━━━━━━━━━━━━━//

/*☆*/
void rankingNptr(int * const g_sum, int * const ranking, int * const rankingptr ){//포인터배열을 받는 rankingptr가변수인데요 틀렸으면 고쳐주세요.
//sum,rank,rankptr 배열 받음;

int n, x;
//┌----한배열안에서 요소가 큰순서대로 재배열한다-----┐
for(x=1;x6;x++){
for(n=0;n5;n++){
if(g_sum[n]g_sum[n+1])
{

change(&ranking[n],&ranking[n+1]);//학번을 바꿔줌으로써 몇번이 몇등인지 알수있다.
}
}
}
//└-------------------------------------------------------------------------┘

//┌----rankptr로 rank 배열을 가리키게함------------┐
for(n=0;n5;n++)
{
rankingptr[n] = ranking[n];//rank 의 주소를 rankptr이 갖음
}//rankingptr이 ranking배열의 주소값을 갖게하려고 했습니다.틀렸으면 고쳐주세요..

//└----------------------------------------------------------------┘

}//END rankingNptr(int a[])/*★*/
// 한 배열속의 2개의 요소의 위치를 바꾸는 함수
void change(int * const a, int * const b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}// END change(int a[n],int a[n+1])/*★*/
//중간 기말의 합을 지정한 배열에 배정하는 함수
void sum(int * const m_grad, int * const l_grad, int n, int * const set_sum)//중간고사배열,기말고사배열,요소의 개수,합 배정할 배열명
{
int x;
//int *m,*l;
for(x=0 ; xn ; x++)
{
set_sum[x]= m_grad[x] + l_grad[x];
}// sum 배열에 중간,기말의 합을 배정함

}/*★*/
//번호순대로 성적을 출력 시키는 함수
void print_a(int * const g_sum){

int n;
cout번호순으로 성적을 출력.endl;
for(n=0;n5;n++)
{
coutn+1번. g_sum[n]점endl;
}
}// END print_a()/*★*/
//번호순대로 성적을 출력 시키는 함수
void print_b(int * const ranking){

int n;

cout성적순으로 학번을 출력.endl;
for(n=0;n5;n++)
{
coutn+1등. ranking[n]번endl;
}
}// END print_b()
//번호순대로 성적을 출력 시키는 함수

/*print_c :재배열된 rank 의 주소값을 갖는 포인터배열rankptr에서 값들(2,4,5,1,3)을 조건문(if)를이용해서 (1,2,3,4,5)로 나열시킨뒤 이 값을 차례로 sum[n]배열의 n에 대입해(sum함수가아닙니다) sum값을 얻어낸다.그후 그값들을 출력한다. 결국 순차대로 sum을 출력한다.*/

void print_c(int * const s_rankingptr,int * const s_sum){
int x, n, a[5];
for(x=0;x5;x++){
for(n=0;n5;n++){
if(s_rankingptr[n]s_rankingptr[n+1])/*포인터배열인 rankptr이 갖고있는 값을 비교하려고합니다. 혹시 *를 붙여서써야되나요?*/
{change(&s_rankingptr[n],&s_rankingptr[n+1]);}
}
}
for(n=0;n5;n++){
a[n]=(s_rankingptr[n]-1);
coutn+1번.s_sum[a[n]]점endl;
}
}

//━━━━━━━━━━━━━━main함수시작━━━━━━━━━━━━━━━━━━━━━//int main()//메인 함수 함수 입력 순서.
{

int m_grad[5]={10,40,20,50,30};//중간고사 성적 저장할 배열
int l_grad[5]={40,70,10,20,30};//기만고사 성적 저장할 배열

int rank[5]={1,2,3,4,5};
int *rankptr[5];
int get_sum[5];//{50,110,30,70,60}

//┏print_a┓
sum(m_grad, l_grad, 5, get_sum);//중간,기말의 합을 구한뒤
print_a(get_sum);//그합을 학번대로 출력한다.(1번. 50점,2번. 110점...)

//┏print_b┓
rankingNptr(get_sum,rank,* rankptr );// 합,번호,번호의 주소를 가리키는 포인터 배열
print_b(rank);

//┏print_c┓
print_c(*rankptr,get_sum);//int * const s_rankingptr,int * const s_grad
return 0;
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

번호 제 목 글쓴이 날짜
2699380 메뉴가 계단식으로 나타나요.. ㅠ.ㅠ (5) 스릉흔다 2025-06-25
2699354 영문 웹폰트 관련 질문입니다!!! (1) 치킨마루 2025-06-25
2699329 윈도우 미디어 플레이어 URL 질문!!! (1) 제철 2025-06-25
2699296 동영상 배경 질문드려요!!!!!!!!!!!!!! 핫파랑 2025-06-24
2699214 position:fixed 에 대한 질문입니다.. (7) 사이 2025-06-24
2699183 제이쿼리 이미지 슬라이드 위치값 수정 초엘 2025-06-23
2699153 테마[ADORABLE]에서 페이지생성시 하위페이지는 2개밖에 안되나요? 흰여울 2025-06-23
2699129 네이버 블로그 또는 사이트의 글을 불러오기 갤원 2025-06-23
2699070 탭메뉴처럼 셀렉트 박스를 이용해서 내용을 출력할 수 있는 방법이 있을까요. (3) 큰꽃늘 2025-06-22
2699016 인터넷이 안되는 환경에서 validator설치방법 (3) 은송이 2025-06-22
2698988 대체 C++ 6.0 exe 아이콘은 어떻게 넣는건가요? 외국녀 2025-06-22
2698960 음성파일을 embed로 작업했는데..웹 표준코딩으로 변경하려면 어떻게 해야하나요? (1) 잎새 2025-06-21
2698932 메뉴목록 풍선창 만들기 html (2) 하늘이 2025-06-21
2698901 http://www.zeitgeistbot.com/ 이 사이트처럼 움직이는 효과를 무엇이라고 하나요? 누림 2025-06-21
2698876 table width값 크로스브라우징에 대한 문의 (2) 볼수록매력 2025-06-21
2698849 c언어 질문. (3) 아름나 2025-06-20
2698823 setInterval 이벤트 제거 하려면... 가온길 2025-06-20
2698796 이 오류를 이해를 못하겠어요 Addicted 2025-06-20
2698712 IF 문 이 계속 오류가 나요 (2) 옆집오빠야 2025-06-19
2698687 이미지를 클릭하면 그 이미지를 다운받게해주는 방법 질문요 ^^ (미해결) (5) 해지개 2025-06-19
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com