디시인사이드 갤러리

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

갤러리 본문 영역

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

망로짭갤로그로 이동합니다. 2009.09.25 12:30:32
조회 177 추천 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 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45201 65
2869944 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 19:13 5 0
2869943 3장에서는 러스트 설계 철학의 모순에 대해 루비갤로그로 이동합니다. 19:03 8 0
2869942 이재명씨는 왜 스윗식스티가 됐을까? [3] 헬마스터갤로그로 이동합니다. 19:01 23 0
2869941 러빠 왜 안 보임 gg침?? 루비갤로그로 이동합니다. 18:59 8 0
2869940 나경원 이 사진이 안웃기냐? 헬마스터갤로그로 이동합니다. 18:59 14 0
2869939 동아시아 문화에 최적화된 AI 기반 조직관리 서비스 어떨 것 같음? 프갤러(211.204) 18:54 7 0
2869938 다른 에.드랑 급이다름..이건 꼭해야돼 2분에 7만눤이????? ㅇㅅㅇ(211.36) 18:35 9 0
2869937 mz빙고...jpg [1] ㅇㅇ갤로그로 이동합니다. 18:30 15 0
2869935 프부이들 치킨 ㄱㄱ? [1] 프갤러(14.45) 18:07 25 0
2869933 서민 대변한다던 의원들, 알보고니 최고 고소득자…극우정당 내로남불에 난리 발명도둑잡기(118.216) 17:56 13 0
2869930 남한테 설명한단 사실 하나만으로 실력이 느는듯 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 17:49 31 0
2869928 휴지통에서 영구삭제한 파일 레큐바에도 안뜨는데 이거 걍 못찾는거임? [2] 프갤러(115.143) 17:38 16 0
2869927 오늘의 작사 실마리: 100만원으로 한 달 살기 발명도둑잡기(118.216) 17:38 10 0
2869924 세계 동물 수 비교 [1] 발명도둑잡기(118.216) 17:18 14 0
2869923 교정기 때문에 입안이 다 헐어서 다이어트가 저절로 된다 발명도둑잡기(118.216) 17:13 13 0
2869921 지금 갤에 뭐가 있길래 [1] 프갤러(113.59) 17:04 38 1
2869920 굳이 공부안해도 살아남는사람들은 뭐냐 [1] ㅇㅇ(39.118) 17:04 22 0
2869919 젤렌스키는 왜 중립을 포기했나? 우크라이나 전쟁, 다른 시선 심용환 [1] 발명도둑잡기(118.216) 17:03 16 0
2869918 ‘핵무기 야망’ 이유로 이란 비난한 서방, 자신들 안보는 핵무기로? 발명도둑잡기(118.216) 16:46 16 0
2869917 에어장 목사 사건 발명도둑잡기(118.216) 16:39 13 0
2869916 파이썬은 자바에 비하면 병신 언어 같음 ㅇㅇ갤로그로 이동합니다. 16:38 31 0
2869915 "딸이 모텔에…" 부모 신고→경찰 출동→39세 남성 3층 추락 발명도둑잡기(118.216) 16:35 18 0
2869913 냥덩 또 가짜뉴스 “시진핑 실각설은 국내 반중정서 키우는 독약” 발명도둑잡기(118.216) 16:24 22 0
2869912 '자유총연맹 지원 조례' 반대, 노원구의회 찾아간 청년들 발명도둑잡기(118.216) 16:22 8 0
2869911 20~30대 한남이 병신세대이긴 하네 ㅇㅅㅇ [1] 류류(118.235) 16:21 31 0
2869910 결국 문 닫은 미 USAID…'64년 대외 원조' 역사의 뒤안길로 [2] 발명도둑잡기(118.216) 16:20 18 0
2869909 한국 미사일 "세계최고 수준" 하지만 다른나라의 수출할수없는 이유? 발명도둑잡기(118.216) 16:19 12 0
2869908 트럼프 게임의 룰에 말려든 아시아, 이재명 대통령이 나설 때다 발명도둑잡기(118.216) 16:18 15 0
2869907 [팩트체크] "100만원 서울살이 가능할까"…현실은 '극기훈련' 발명도둑잡기(118.216) 16:16 11 0
2869906 ‘혐중’이란 병을 어떻게 치료할 것인가 [박노자의 한국, 안과 밖] [1] 발명도둑잡기(118.216) 16:14 16 0
2869905 이재명씨는 여성에게만 기회를 많이 주더라 [6] 헬마스터갤로그로 이동합니다. 16:13 45 0
2869904 잭 도시·일론 머스크 "모든 지적재산권 법 없애자"…AI 시대 [2] 발명도둑잡기(118.216) 16:10 21 0
2869903 트럼프 "내년 250주년 독립기념일 축제로 백악관서 UFC 경기" 발명도둑잡기(118.216) 16:08 12 0
2869902 [정동칼럼]전쟁은 두 사람만 미치면 시작된다 발명도둑잡기(118.216) 16:07 14 0
2869901 AI 잘 쓰는 사람은 따로 있다 [김상균의 메타버스] 발명도둑잡기(118.216) 16:06 14 0
2869900 "대소변 먹이고 39차례 강간"…75세 유명 축구 에이전트 발명도둑잡기(118.216) 16:05 18 0
2869899 "하루라도 쉬고 싶어요"…'주 7일 배송' 택배기사의 하소연 발명도둑잡기(118.216) 16:04 10 0
2869898 TV조선 ‘강적들’ 새 MC에 진중권 교수·임윤선 변호사 발명도둑잡기(118.216) 16:03 11 0
2869897 웹백엔드 독학러 인데... 질문 받아주실분? ㅇㅇ(211.176) 16:03 16 0
2869896 [단독] SPC “기계 안 꺼서 사고, 교육 강화”…사고 책임 노동자에게 [1] 발명도둑잡기(118.216) 16:01 22 0
2869895 "알몸 사진 찍고 돌려 봤다, '그곳'도 움켜잡아"⋯日 기업 [1] 발명도둑잡기(118.216) 16:01 17 0
2869894 IMF 금모으기 운동으로 사기쳤던 한국 미국 유대인 엘리트들 발명도둑잡기(118.216) 15:59 11 0
2869893 대지진 예언 작가 이새끼 맞아죽을 수도 있는 이유 [1] 발명도둑잡기(118.216) 15:53 18 0
2869892 냥덩아 [2/1] 개멍청한유라갤로그로 이동합니다. 15:48 44 0
2869891 오전 내내 게임했더니 피곤하네 [1] 프갤러(27.162) 15:31 27 0
2869890 혹시 플젝하고있는데 디자이너 프론트 할 사람있음? 프갤러(175.119) 15:23 23 0
2869889 아?? 키라라 같은 숙소 썼는지는 구글, 애플 위치 기록 보면 나온다 발명도둑잡기(118.216) 15:21 18 0
2869888 나님 20만6천 Vs 최원종 6천 [7] ♥냥덩이♥갤로그로 이동합니다. 15:19 42 1
2869887 제2장: ‘안전성’ 신화의 해체 루비갤로그로 이동합니다. 14:58 59 0
뉴스 [집 나가면 개호강] ‘스카이개슬 1타(?)’ 강소라VS조한선, 불꽃 신경전! 눈 가리고 ‘아웅’ 승부…세기의 대결!  디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2