c언어 스트링 정렬 질문입니다.
빛다
질문 제목 : strcmp 를 이용해 오름차순으로 정렬strcmp 를 이용한 스트링 정렬방법질문 내용 :
제가 작성한 코드인데 주석을 단 부분 ( strcmp 를 이용하여 알파벳 오름차순으로 정렬 ) 이 안됩니다.
컴파일 오류가 뜨지는 않는데 알파벳순으로 정렬이 전혀 안됩니다..
무엇이 문제인지 가르쳐 주시면 감사하겠습니다.스트링은 배열에 순서대로 이렇게 되어 있습니다.
hhhhhhhhhhhhhhhhhhhh
gggggggggggggggg
ddddd
eeeeeeeee
fffffffffffffffffffffffffffffff
aaa
bbbbb
ccccccc
-
터전
알바는 실력되면 하시던가 하시고.. 위 문제의 원인은 순차정렬 알고리즘의 구현이 잘못된 것이니 알고리즘 안다고 자만하지 마시고 다시 천천히 검토해보세요. 머리로 생각하는것보다 종이와 펜이 도움이 될겁니다. 그리고 위에 언급했다시피 문자열 길이만큼만 메모리를 할당받았기 때문에 잠재적으로 메모리 침범오류를 갖고 있는 프로그램이니 그 부분도 수정하는게 좋을겁니다. 안좋은 습관이고, 나중에 이런 습관을 고치려면 많이 애먹게됩니다.
-
개미
몇시간이고 몇일이고간에.. 고민끝에 답을 못내리는게 제 문제입니까?
저는 길을 알려줬는데 그쪽이 다리가 불편해서 못가는게 제 문제에요? 그럼 제가 업고 가야되나요? 그동안에 님은 제 등뒤에 엎혀서 눈감고 자고? 한숨자고 일어나면 목적지에 도착해 있을거고? 누군가가 님한테 그 길을 물어봐도 님은 그 길을 알려주질 못합니다. 왜냐면 그동안에 님은 잤으니까. -
그리
순차정렬 알고리즘, 그리고 위 코드의 실행흐름. 코딩 많이 해본 사람이 여기에 답이 있다고 알려주는데도 고민하고 연구해볼 생각은 안하고 순차정렬은 이미 알고있다는 자만심이며 문제가 뭔진 알고 있으니 그냥 답만 내 놓으라는 태도가.. 누가 꼬인건지 대체 모르겠습니다.
-
이뻐
위에분이 누군지 모르시는데 이름이 계속 바뀌시네요?
그리고, 코드에 문제가 있는데 그 문제를 찾을 방법을 알려드리지 않았습니까? 코드의 흐름에 따라 배열이 어떻게 바뀌는지 그려보시라구요. 방법을 알려드렸는데도 못하는건 문제가 있는게 맞습니다. 그냥 답만 달라는거죠. -
영글
해답을 드리려면 코드를 드려야합니다. 그러려면 코딩을 해야되구요.
코드 없이 드릴 수 있는 답변은 \반복횟수가 틀렸다\ 정도겠네요.
제가 답을 드리지 않는 이유는 두가지입니다.
첫째는, 제 개인의 문제입니다.
저는 코드를 직업으로 하고 있는 사람이고, 제 고객들은 제 코드에 비용을 지불합니다.
비용을 내지 않고도 제 코드를 쓸 수 있으면 이미 비용을 낸 다른 고객들은 한순간에 호구가 되버리겠죠.
둘째는, heeyui2님의 문제입니다.
제가 답을 드리 -
불꾼
저는 답을 드리진 않습니다. 답을 찾을 수 있도록 길을 알려드릴 뿐이죠.
네이버에서 \순차정렬 알고리즘\ 을 검색해보시고, 그 알고리즘의 실행과정과 위에 작성하신 코드의 실행과정을 비교해보시면 차이가 보일겁니다. -
라미
순차정렬 알고리즘 구현에 문제가 있네요.
바깥쪽 for 루프 반복횟수를 잘못 잡았습니다.
지금 작성해두신 코드를 그대로 실행시켰을때 배열이 어떻게 변할지 종이에 적어가면서 따라그려보세요. -
지나
위 코드만으로는 정렬이 안되는 이유는 알 수 없습니다.
정렬이 안된다는게 오류가 난다는 말인가요?
잠재적인 segmentation fault 오류가 보이긴 하네요.
pStr[i] 에 할당한 메모리 공간은 strlen(buffer) 길이인데,
pStr[0] 과 pStr[1] 에 할당한 공간의 크기가 다르면 strcpy() 할때 segmentation fault 에러 발생합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |
2699555 | c언어 다항식을 입력을 했는데 왜 출력이 안될까요? | 피스케스 | 2025-06-27 |
2699528 | C언어 포인터연산 질문입니다. (3) | 안녕나야 | 2025-06-26 |
2699476 | 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) | 클라우드 | 2025-06-26 |