디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

아 형들 저 남자 맞는데요 제발 도와주세요

망로짭갤로그로 이동합니다. 2009.09.25 12:30:32
조회 176 추천 0 댓글 14

#include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h> /*대문자로 입력하는경우 소문자로 인식하게 해주는 tolower 함수를 사용하기위해 추가했습니다*/
 #include <conio.h> /*어떠한 입력을 받아도 진행되는 getch함수를 사용하기위해 추가했습니다.
                    프로그램 마지막에 쓰였습니다.*/

 typedef struct _node
 {
      int data;
      struct _node* next;
 }node;


 node* create_node( int d ); /*정수 d를 저장할 새로운 노드를 생성하는 함수입니다. */


 node* fine_next( node* head, int d, int* seq ); /*기본적으로 내림차순이 가능하게 하는 함수입니다.*/


 node* search( node* head, int d, int* seq );  /* 리스트에서 정수를 검색하여 일치하는 정수의 순서를
                                               seq에 저장하는 함수 */
 
 
 node* add_sort( node* head, int d ); /* 정수를받아 fine_next와 create_node와 
              같이 작용하여 내림차순으로 정렬된 위치에 삽입하는 함수 입니다.*/


 void print_list( node* head ); /*저장된 정수의 리스트를 출력하는 함수 입니다.*/


 node* delete_node( node* head, int seq );/* d(순서)를 입력받으면 그 순서에 해당하는 노드를 삭제하는 함수입니다.*/


 
 
 int main(void)
 {
    node* head = 0, * nd;

    char cmdstr[16], extra[255];
    char command;
    int number, query, count, seq;

    while( 1 )
    {
      printf( "-----------------------------------------------------------------------------\\n 명령어를 입력하세요\\n †a삽입<정수>†d=삭제<순서>†f=찾기<정수>†p=프린트†x=종료† \\n-----------------------------------------------------------------------------\\n" );
         gets( cmdstr );

      count = sscanf( cmdstr, "%c %d %s", &command, &number, extra );
      if( !( count == 1 || count == 2 ) )
      {
           printf( " 명령어를 잘못 입력 하셨습니다. 다시 입력하여 주십시오.\\n" );
          continue;
      }

      command = tolower( command );

      if( command == \'x\' )
           break;
      else if( command == \'p\' )
      {
           if( count != 1 )
         {
           printf( " 입력오류\\n" );
           continue;
         }
      }
      else
      {
         if( count != 2 )
         {
           printf( " 입력오류\\n" );
           continue;
         }
      }

      switch( command )
      {
           case \'a\' :
            printf( "\\n 삽입완료 \\n" );
            head = add_sort( head, number );
              break;

         case \'d\' :
            printf( "\\n 삭제완료 \\n" );
            head = delete_node( head, number );
              break;

         case \'f\' :
            printf( "\\n 검색 \\n" );
            nd = search( head, number, &seq );
            if( nd == 0 )
                 printf( " %d을 리스트에서 찾을 수 없습니다.\\n", number );
            else
                 printf( " %d) %d\\n", seq, nd->data );
              break;

         case \'p\' :
            printf( "\\n 출력 \\n" );
            print_list( head );
              break;

         default :
            printf( "\\n잘못된 명령어 입니다.\\n" );
      }
    }

   
    getch();
    return 0;
 }
 /* 보조함수 */
 node* create_node( int d )
 {
      node* newnode = (node*)malloc( sizeof(node) );
      if( newnode == 0 )
      {
             fprintf( stderr, " 메모리 할당 에러 \\n" );
         getch();
         exit( EXIT_FAILURE );
      }
      newnode->data = d;
      newnode->next = 0;
      return newnode;
 }

 node* fine_next( node* head, int d, int* seq )
 {
      node* prev = 0, * cur = head;
      int i = 1;
      while( cur )
      {
           if( cur->data <= d )
          break;
         prev = cur;
         cur = cur->next;
         i++;
      }

      *seq = --i;
      return prev;
 }

 node* search( node* head, int d, int* seq )
 {
        node* prev = fine_next( head, d, seq );
      if( prev == 0 )
      {
            if( head->data == d )
         {
            ++*seq;
                  return head;
         }
      }
      else
      {
         if( prev->next && prev->next->data == d )
         {
            ++*seq;
              return prev->next;
         }
      }
      return NULL;
 }

 node* add_sort( node* head, int d )
 {
      int seq;
        node* nw = create_node( d );
      node* prev = fine_next( head, d, &seq );

      /* d is preceding head */
      if( prev == 0 )
      {
            nw->next = head;
            return nw;
      }

      nw->next = prev->next;
      prev->next = nw;
      return head;
 }

 void print_list( node* head )
 {
      int i = 0;
      if( head == 0 )
      {
           printf( " 저장된 정수가 없습니다.\\n" );
         return;
      }

          while( head )
      {
           printf( " %2d} %d \\n", ++i, head->data );
         head = head->next;
      }
 }

 node* delete_node( node* head, int seq )
 {
      int i;
   node* cur, * prev = 0;

   if( head == 0 )
   {
        printf( " 저장된 정수가 없습니다.\\n" );
         return head;
   }

   cur = head;
   i = 1;

   while( i < seq )
   {
        if( cur->next )
      {
           prev = cur;
         cur = cur->next;
         i++;
      }
      else
       break;
   }

   if( i == seq )
   {
        printf( " %d번째 노드를 삭제합니다.\\n", seq );
        if( prev == 0 )
      {
          head = head->next;
          free( cur );
      }
      else
      {
          prev->next = cur->next;
          free( cur );
      }
   }
   else
        printf( " %d번째 노드는 존재하지 않습니다.\\n", seq );
   return head;
 }







------------------

는 훼이꾸고
저렇게 까지 해놨는데
저게 리니어링크드리스트로 작성한거거든
물론 내가한건아니고
씨발 1학년인데 저런거 내주고있어 아직 C 다 배우지도 않았는데 아오 진짜

그래서그런데

a는 정수삽입
d는 삭제 뭐 이런건 다했고

s

● 현재 liked list에 존재하는 정수 값들의 합과 평균, 개수, 중앙값을 구하여 화면에 출력.

● 예제에 나오는 것처럼 sum(합), avg(평균), cnt(개수), mdn(중앙값) Label과 함께 출력 되어야 함.

◆ 평균(avg)은 소수점 첫 번째 자리에서 반올림 할 것.

◆ 중앙값(mdn)은 통계집단의 변량들을 정렬하였을 때, 중앙에 위치하는 값으로 메디안이라고도 하는데,총수 n이 홀수일 때는 (n+1)/2번째의 변량,총수 n이 짝수일 때는 n/2번째와 (n+2)/2번째의 변량의 산술평균을 구한다.


이걸 못하겠단 말이지...

형님들 좀 도와주세요

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
274831 ㅋㅋㅋ야 넌 지금 열호가 여자라고 확신하는거지? [3] blackd갤로그로 이동합니다. 11.09.22 83 0
274830 근데 열호 왜 안나타나지 [13] 쿄스케갤로그로 이동합니다. 11.09.22 113 0
274828 아니 아스야 이게 뭔이릔데 열폭 [2] Adelposs갤로그로 이동합니다. 11.09.22 69 0
274827 취업시 짜증나는 회사 유형(뒤조심) [8] 거칠게갤로그로 이동합니다. 11.09.22 218 0
274826 야 쿄스케가 나 피자사준데 [3] Adelposs갤로그로 이동합니다. 11.09.22 49 0
274825 오늘의 교훈 지금,여기갤로그로 이동합니다. 11.09.22 31 0
274823 뭐 채용할때 뻔한거 아니냐?? [2] Adelposs갤로그로 이동합니다. 11.09.22 57 0
274821 구원좀.. 액션스크립트 물어본 아이 봐라. [7] McHello갤로그로 이동합니다. 11.09.22 86 0
274820 횽들 [1] stdlib.h갤로그로 이동합니다. 11.09.22 40 0
274819 한국 IT종사자들아 디데이를 잡고 하루 서버 다 내리고 단결 투쟁하자!! [1] 거칠게갤로그로 이동합니다. 11.09.22 58 0
274818 요즘 취업할려고 하는데 몇몇 위험한 글들이 보인다. [3] 거칠게갤로그로 이동합니다. 11.09.22 111 0
274817 우리 싸우지 말자 [8] 좋은아버지갤로그로 이동합니다. 11.09.22 68 0
274816 쿄스케사마 [4] Adelposs갤로그로 이동합니다. 11.09.22 59 0
274812 불호 여자면 내가 피자 쏜다. [4] 쿄스케갤로그로 이동합니다. 11.09.22 77 0
274811 한국은 왜 야근하면서 야근비를 안줘요???? [1] 거칠게갤로그로 이동합니다. 11.09.22 104 0
274810 Mac OS에서 나눔고딕이 문제가 많네... [3] 분당살람갤로그로 이동합니다. 11.09.22 109 0
274809 쿨타임 시작 그것은 [5] 좋은아버지갤로그로 이동합니다. 11.09.22 53 0
274806 생성한 메모리는 지워봐야하지 않겠냐........... [1] 헤헤...(218.54) 11.09.22 58 0
274805 횽들 C# 질문좀 할꼥 ㅠㅠ [10] 아리햏갤로그로 이동합니다. 11.09.22 79 0
274804 자바로 숏코딩하니까 개병맛.. ㅁㄴㅇ(210.178) 11.09.22 72 0
274802 형들 질문좀 avd가 안됨. ㅠ [2] 부부바바(14.47) 11.09.22 40 0
274801 님들은 꼭 제약회사 들어가세요 [10] ㄷㄷ(112.221) 11.09.22 133 1
274799 여긴 무슨갤임요? [4] VB갤로그로 이동합니다. 11.09.22 52 0
274798 모바일 글쓰기 테스트 [2] 시불라미갤로그로 이동합니다. 11.09.22 48 0
274797 횽들 API 질문 하나만 도와줘 ㅠㅠ +어게인갤로그로 이동합니다. 11.09.22 34 0
274796 디씨 모바일 웹 페이지 나왔다. 디씨앱 생각하는 꼬꼬마들 당장 떼려쳐라. [6] 시불라미갤로그로 이동합니다. 11.09.22 96 0
274795 헐 인증했어썽? [4] 좋은아버지갤로그로 이동합니다. 11.09.22 82 0
274794 아스트라로테 존나 궁색한 변명싸놓고 앉아있네 ㅋㅋㅋ [9] ㅋㅋㅋ(121.169) 11.09.22 147 0
274791 c언어 초보인데 도움좀 부탁드려요ㅠㅠ [5] 유닉(14.36) 11.09.22 78 0
274790 게이 돋는 프갤횽들 능욕 로하로하알로하갤로그로 이동합니다. 11.09.22 56 0
274786 약정끝낫는데 갤투가 좋을까 갤탭이 좋을까 [10] 힙꼬맹갤로그로 이동합니다. 11.09.22 75 0
274785 아이패드에서 프갤 접속하니까 분당살람갤로그로 이동합니다. 11.09.22 55 0
274784 너네들 노숙자 우습게 보지 마라 [1] SODMaster갤로그로 이동합니다. 11.09.22 88 0
274783 연봉협상 할 때 오르기는 함니까? [20] ㄷㄷ(112.221) 11.09.22 237 0
274780 컴터 새로 살려했더만 [1] Kanon갤로그로 이동합니다. 11.09.22 52 0
274779 그나저나 컴갤이될분위기에 [1] 三didas갤로그로 이동합니다. 11.09.22 55 0
274778 악 귀신이닷! [7] 분당살람갤로그로 이동합니다. 11.09.22 92 0
274777 좋은형한테는 미안한말이지만 [10] 三didas갤로그로 이동합니다. 11.09.22 119 0
274776 [오늘의 뉴우스] 이대 자연대 3학년 학생 88명이 '자퇴'한 이유 [1] 시불라미갤로그로 이동합니다. 11.09.22 127 0
274775 ^이거 어디쓰는 건가요.. [9] 베어머글갤로그로 이동합니다. 11.09.22 88 0
274774 핫코딩 프로그래밍과외하기 (선생님/학생) [2] 핫코딩(112.158) 11.09.22 103 0
274773 회사다니는데 일어나니까 오후 1시 20분이면 어떡하냐? [6] ㅁㄴㄻㄹ갤로그로 이동합니다. 11.09.22 131 0
274769 토익본 횽들 [3] 씨발라드세요갤로그로 이동합니다. 11.09.22 81 0
274768 있자나 어제 내가 컴퓨터 망가졌다고 햇자나? [8] 좋은아버지갤로그로 이동합니다. 11.09.22 89 0
274767 회사에서 근무중인 갤러들 필독.. [6] 이문동쮸쮸바갤로그로 이동합니다. 11.09.22 161 0
274765 미적감각이 있는 코더가 부러움... [4] SODMaster갤로그로 이동합니다. 11.09.22 122 0
274764 아스횽 오면 나한테 피자 쏘라고 말해줘 [1] 얼빠진호랑이갤로그로 이동합니다. 11.09.22 144 0
274762 피자헛 개객끼 [5] SODMaster갤로그로 이동합니다. 11.09.22 153 0
274760 어제 먹다남은 KFC 치킨을 먹었는데, 뭔가 아쉬워. [2] SODMaster갤로그로 이동합니다. 11.09.22 65 0
274758 프갤의 성적판타지를 그려줄수 있는 횽한테 [3] 일광면갤로그로 이동합니다. 11.09.22 85 0
뉴스 이효리, 11년 제주살이 이유 따로 있었다…“주변에서 말 많아” 디시트렌드 07.03
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2