Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[308] 문자열을 swap하는데 문제점..
jabberwock [dragonfly2] 2710 읽음    2002-03-17 01:46
우선 코스를 보시져..

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void swap(int *a, int *b)
{
    int temp;

    temp=*a;
    *a=*b;
    *b=temp;
}

void main()
{
    int i,j;
    char word[5][10];
    int num_length[5];

    for(i=0; i<5; i++)
    {
        printf("Enter your Words : >> ");
        scanf("%s",word[i]);
    }

    for(i=0; i<5; i++)
        num_length[i]=strlen(word[i]);
   
    printf("<< Input Words >>\n");
    for(i=0; i<5; i++)
        printf("%s:\tlength = %d\n",word[i],num_length[i]);

    for(i=0; i<5-1; i++)
    {
        for(j=i+1; j<5; j++)
        {
            if(strcmp(word[i], word[j])>0)
                swap(word[i],word[j]);
        }
    }

    printf("\n<< Sorted Words >>\n");
    for(i=0; i<5; i++)
        printf("%s:\tlength = %d\n",word[i],num_length[i]);
}

문자열을 swap해야 하는데..
이 프로그램을 실행 시키면.. 두가지 문제점이 생깁니다..

첫번째는 swap(word[i],word[j])부분에 char형을 함수로는 int형으로 받아서 문제가 생기고..

두번째는 실행을 하면 문자열을 swap으로 넘길대 포일터를 사용하니.. 전체의 문자열이 바뀌지 않고
  입력한 만큼만 바뀝니다. 예를 들어서..
  첫번째 kiwi 두번째 apple라고 하면..
  결과는 첫번재 appl 두번째 kiwie 라고 나옵니다.
 
아무리 생각해도 어케 해야하는지 모르겠습니다..
워낙 초보에다가 프로그램을 별루 안짜봐서..
그럼 답변 부탁드립니다.

+ -

관련 글 리스트
308 문자열을 swap하는데 문제점.. jabberwock 2710 2002/03/17
309     Re:문자열을 swap하는데 문제점.. jabberwock 2183 2002/03/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.