C언어 버블정렬함수에 구조체 요소 입력받기

조회수 1426회

구조체 내부에 있는 요소 중 하나를 택해 버블정렬로 정렬하려고 합니다. 여기서 하나를 택하는 방법은 프로그램 사용자에게 정렬하고 싶은 항목을 '번호'로 입력받아 해당 번호의 항목을 정렬하는 것입니다. 버블 알고리즘은 알고 있어서 버블정렬 함수를 하나 만들었는데, 여기서 두가지 모르는 점이 있습니다. 첫번째는 사용자에게 원하는 항목의 번호를 입력받았을 때, 그 항목의 번호가 예를 들어 2라고 하면, 구조체에 있는 2번째 요소와 연결하는 방법 두번째는 버블정렬함수에서 변수 및 매개변수?를 어떤식으로 잡아야 각 if문에서 그 함수만 불러오면 바로 정렬을 할 수 있는지

구조체로 접근하는 방식이 [구조체변수명.멤버명] 형식이라는 것은 알고 있습니다. 하지만 접근해야하는 구조체 멤버가 10개가 넘어가서 각각을 함수로 만들기엔 양도 많고 비효율적인 것 같아 함수에서 (.멤버명)을 일반화할 수 있는 변수를 만들 수는 없을까요?? 이 2가지 방법을 못찾았습니다ㅜㅜ 도와주세요ㅠㅠㅠㅜㅜ!!!!!!!

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 구조체라도 코드를 올려주세요. 그런데 배열이 아닌 이상 딱히 방법이 없을듯 하네요.. Sunjong Park 2018.12.3 06:42
  • https://stackoverflow.com/questions/7674255/get-list-of-c-structure-members 참조. 알 수 없는 사용자 2018.12.4 15:40
  • 위 방식과 비슷하게 struct의 멤버에 접근할 수 있는 구조체를 배열로 만들어서 해당 구조체가 들어오면 관련 정보를 참조해서 포인터 이동을 통해서 struct 멤버에 접근하게 하면 어떨까 싶네요. 그렇게 하면 struct당 멤버 정보 하나씩이 매핑되고, 멤버 정보를 통해서 struct 멤버에 접근할 수 있어서 좀 더 효율적으로 코딩하는게 가능할 듯 싶은데요. 알 수 없는 사용자 2018.12.4 15:43

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)