디시인사이드 갤러리

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

갤러리 본문 영역

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

망로짭갤로그로 이동합니다. 2009.09.25 12:30:32
조회 171 추천 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
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
162954 아 다들 진짜 너무한거 아님? Wisestar 내가 도와줄게!! [15] LightEach갤로그로 이동합니다. 09.12.17 155 0
162952 Wisestar횽은 숙제 봄.니.다. [7] 물속의다이아갤로그로 이동합니다. 09.12.17 143 0
162951 저를 정보통신부 장관으로 만들어주십시오! [4] nRST갤로그로 이동합니다. 09.12.17 89 0
162950 자바 TItledBorder 좀 알려주십쇼 GUI 같은데 ㅜ [3] ㅁㄴㅇㄹ(121.138) 09.12.17 75 0
162948 씨샵 리스트박스 왤케 느려??ㅠㅠ [3] 씼쌰ㅃ(123.142) 09.12.17 70 0
162947 젊어보이고싶다 [4] 유리한갤로그로 이동합니다. 09.12.17 141 0
162946 다시 정리한 레알친절한 개쉛기 [6] 개쉛기갤로그로 이동합니다. 09.12.17 160 0
162945 저기 님들아 무작위숫자에 대한 갯수를 세야 하는데여 [7] 고리(210.104) 09.12.17 80 0
162943 테스트 고리(210.104) 09.12.17 34 0
162941 저 진짜 급박해요 ㅠㅠ [4] Wisestar갤로그로 이동합니다. 09.12.17 131 0
162940 컴퓨터 프로그래밍 시험문젠데 도와주세욤 ㅠㅠㅠ 풀이도있어야함 ㅠㅠ [8] Wisestar갤로그로 이동합니다. 09.12.17 178 0
162939 안드로이드폰 한국 출심 임박! [22] 그런데갤로그로 이동합니다. 09.12.17 217 0
162938 리눅스인데 요 문제 정답 아는 횽아~ [1] 닷넷(117.16) 09.12.17 85 0
162936 [100분 + a 토론] 프로그래밍의 진입 장벽이 문제인가? [7] 천재플머(121.139) 09.12.17 221 0
162935 아이폰 무료앱'서울버스1.0' 차단-? [30] 개쉛기갤로그로 이동합니다. 09.12.17 258 0
162934 이거 어찌해야할지모르겠다.. 아는사람?.jpg [6] 고리(210.104) 09.12.17 141 0
162933 영화 예매권이 2장 생길 것 같다 [6] ㅇㅇㅃ갤로그로 이동합니다. 09.12.17 116 0
162932 지하철 예절 ㅅ-ㅅ [4] 이웃집또테러갤로그로 이동합니다. 09.12.17 123 0
162931 jsp 간단한 질문! 왜 여기서 빨간줄이 그어지죠? [13] (211.238) 09.12.17 128 0
162930 횽들 밑에 코드 올려래서올려볼꼐요 [4] adsf(122.34) 09.12.17 66 0
162929 알바가 글을 삭제했군요ㅋ 3v(211.117) 09.12.17 39 0
162928 형들이것좀바바.. C--파일입출력에뭐가문젤까 [6] adsf(122.34) 09.12.17 104 0
162927 C# 에서 Closing 에 대해서 아는 분 계신가요? [2] (210.94) 09.12.17 84 0
162926 위대한 아이폰,, 아이폰 자전거도 있다능 [3] cp(118.219) 09.12.17 126 0
162924 핸드폰은 나에게 그저 알람시계일뿐 [3] 유리한갤로그로 이동합니다. 09.12.17 99 0
162922 5만원어치 지른것이 자랑~ [14] Vita500갤로그로 이동합니다. 09.12.17 229 0
162921 젖절하게 아이폰 신봉자 까는 글 [2] JuEUS-U갤로그로 이동합니다. 09.12.17 144 0
162920 어디서부터 누가 알바인가 [8] 유리한갤로그로 이동합니다. 09.12.17 140 0
162919 c언어 코딩좀 해주실분.ㅠㅠ [6] 이힝(222.99) 09.12.17 160 0
162918 프겔횽들 운동 열심히 하심? [12] as(124.61) 09.12.17 129 0
162917 ㅈㅅ [4] 빵꾸똥꾸(211.216) 09.12.17 81 0
162916 tmax에서 필드구조....전송데이타값좀알려주세요 ㅠㅠ tmax(116.40) 09.12.17 276 0
162915 내가 예전에 했던 프로젝트 중에 [7] Gromit갤로그로 이동합니다. 09.12.17 171 0
162912 여자들은 어그부츠에 왜 신음을? [7] algo갤로그로 이동합니다. 09.12.17 220 0
162911 왠지 늘보횽 통장엔 1억쯤 [13] algo갤로그로 이동합니다. 09.12.17 147 0
162910 어그녀 [12] 유리한갤로그로 이동합니다. 09.12.17 352 0
162909 여자들은 어그부츠 왜 신음? [1] 초밥술사갤로그로 이동합니다. 09.12.17 157 0
162908 아 졸립다는 [5] algo갤로그로 이동합니다. 09.12.17 80 0
162907 사실 어제 난리가 났었엉... [2] 아주아슬갤로그로 이동합니다. 09.12.17 99 0
162905 결정자/종속자로 1NF,2NF,BCNF 구별하는법점 알려주실분 ㅠㅠ [8] as(124.61) 09.12.17 282 0
162904 와 차단 풀렸따 [4] 아주아슬갤로그로 이동합니다. 09.12.17 77 0
162903 양키 중에는 확실히 훈훈한 놈들 많다. [7] JuEUS-U갤로그로 이동합니다. 09.12.17 209 0
162902 어제 키보트 싸질렀어 [6] 출입증갤로그로 이동합니다. 09.12.17 139 0
162900 아이폰 해킹 답이 없네연- [6] 온순한감자갤로그로 이동합니다. 09.12.17 242 0
162898 자바 커피의 최대 원산지는 인도네시아 [2] 그런데갤로그로 이동합니다. 09.12.17 118 0
162896 오늘 4번째 출근 ㅋ [1] 코와붕가(116.123) 09.12.17 65 0
162895 Q9550 쓰는데 왜 이렇게 느린가요? [6] Recursive갤로그로 이동합니다. 09.12.17 111 0
162893 눈이 감겨온다 숙신갤로그로 이동합니다. 09.12.17 76 0
162892 자바 TitledBorder 에 대해서 아시는분 ㄴㅇㅁㄹ(121.138) 09.12.17 67 0
162891 어떡해 일기 #10-2 :: 급히 연락받고 편입관련 조언 듣고 옴. [12] 어떡해갤로그로 이동합니다. 09.12.17 677 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2