디시인사이드 갤러리

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

갤러리 본문 영역

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

망로짭갤로그로 이동합니다. 2009.09.25 12:30:32
조회 172 추천 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/24 - -
공지 프로그래밍 갤러리 이용 안내 [71] 운영자 20.09.28 35908 62
2718481 국제왕따 문재앙은 숨쉬는거 빼고 다 거짓말 ♥냥덩Pay♥갤로그로 이동합니다. 06:25 4 0
2718480 얘들아 내가 웹사이트 하나 만들었는데 ㅇㅇ(175.121) 06:02 17 0
2718479 코딩 구현만 잘하면되지 원리 얀아야 하니마니 프갤러(180.71) 05:50 11 0
2718478 이거 먼 언어이고 뜻 알면 천재 프갤러(180.71) 05:41 14 0
2718456 씨발 메이플 하루에 6시간씩 쳐하는거 돌았나 진짜 [1] ㅇㅇ(123.213) 02:49 45 0
2718455 증권회사는 상습적으로 사기를 친다 발명도둑잡기갤로그로 이동합니다. 02:48 19 0
2718454 취업이 안된다.. [4] ㅇㅇ(118.235) 02:41 70 0
2718453 "라인매각 밀실 논의? 주주가 호구야!"…네이버 52주 신저가 발명도둑잡기갤로그로 이동합니다. 02:41 17 0
2718452 네이버노조 "라인야후 관련 지분 매각하면 미래 잃을 수 있어" 발명도둑잡기갤로그로 이동합니다. 02:36 18 0
2718451 "파리 위해 뉴욕 희생할 수 있나"…드골의 질문과 한반도 발명도둑잡기갤로그로 이동합니다. 02:33 15 0
2718450 평통사 “히로시마 ‘원폭 투하’ 국제법 위반…미국 책임 묻겠다” 발명도둑잡기갤로그로 이동합니다. 02:29 17 0
2718447 英총리 사저 침입해 '배변 퍼포먼스' 환경운동가 "이별 선물" 발명도둑잡기갤로그로 이동합니다. 02:20 14 0
2718446 100미터 태극기 달자고 설치는 꼴이 한국 망조의 상징 발명도둑잡기갤로그로 이동합니다. 02:10 16 0
2718444 방금 전 새로 고침 후 추천 발명도둑잡기갤로그로 이동합니다. 02:05 20 0
2718441 방금 전 새로고침 후 추천 발명도둑잡기갤로그로 이동합니다. 01:57 34 0
2718440 유데미 스프링 강의 뭐뭐 듣는 게 좋음? ㅇㅇ(49.142) 01:57 17 0
2718438 세상에 사기꾼이 너무 많다.. 전역한 사람한테까지 사기를 치냐 ㅇㅇ(123.213) 01:53 22 0
2718437 자바 배우는중인데 자바의 장점을 잘모르겟음 ㅇㅇ8갤로그로 이동합니다. 01:52 35 0
2718431 제다이교 발명도둑잡기갤로그로 이동합니다. 01:34 14 0
2718429 님듶 프로그램 실행하는 단축키 뭐로해야함??? ㅇㅇ8갤로그로 이동합니다. 01:34 21 0
2718428 세상에 사기꾼이 너무 많다.. 전역한 사람한테까지 사기를 치냐 [1] ㅇㅇ(123.213) 01:32 22 0
2718427 앱스토어 심사 완 료 ㅇㅅㅇ [2] 따당이갤로그로 이동합니다. 01:26 55 0
2718426 개발자 외에는 지금 취업시장 어떰? [1] 프갤러(118.34) 01:19 40 0
2718425 융심리학의 집단무의식 글 검열 삭제 당했다 발명도둑잡기갤로그로 이동합니다. 01:15 19 0
2718424 다섯번째 힘 발명도둑잡기갤로그로 이동합니다. 01:10 13 0
2718423 프로그래밍 언어 프로그램 질문 [4] 프갤러(14.37) 01:09 54 0
2718422 작은 프로젝트에서 전역상태관리 하면 안되는 이유 [2] 타입스크립트갤로그로 이동합니다. 00:59 50 0
2718421 자본주의=출생률 저하 발명도둑잡기갤로그로 이동합니다. 00:57 18 0
2718420 xml 인플레이트 속도 개선 방법있음? 프갤러(115.21) 00:57 18 0
2718418 방금 전 인스타그램 첫 화면 발명도둑잡기갤로그로 이동합니다. 00:51 43 0
2718417 안드로이드 Termux 잘 아시는 분? sh파일 실행? ㅇㅇ갤로그로 이동합니다. 00:49 23 1
2718416 내가 사용 중인 운영체제 [1] 발명도둑잡기갤로그로 이동합니다. 00:47 28 0
2718414 리액트는 전역상태 같은거 없음? [2] 타입스크립트갤로그로 이동합니다. 00:41 47 0
2718413 라면 먹고 잘까 그냥 잘까 고민중..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 00:38 14 0
2718412 아 <에콜라이트>가 영화가 아니라 디즈니 OTT였구나 발명도둑잡기갤로그로 이동합니다. 00:37 12 0
2718411 오늘 회사에서 울면서 코딩햇음 ㅇㅅㅇ [2] 따당이갤로그로 이동합니다. 00:35 80 0
2718410 중견 전산실쪽 취업정보는 어디서 얻어야하냐... ㅇㅇ(223.38) 00:28 23 0
2718409 너네들 운영체제 뭐 사용해? [4] 프갤러(14.39) 00:27 36 0
2718408 백성학 회장 사무실에서 중국 대사까지 관리했나? 발명도둑잡기갤로그로 이동합니다. 00:22 11 0
2718407 선택) lg cns vs 카카오 [3] ㅇㅇ(117.111) 00:21 55 0
2718406 Rn, 플러터가 웹도 되는거야? [3] 프갤러(219.255) 00:09 47 0
2718405 가만히 놔둬도 반공하다 소멸될 국가 발명도둑잡기갤로그로 이동합니다. 00:05 21 0
2718403 리액트는 무거운게 맞지? [1] 타입스크립트갤로그로 이동합니다. 06.26 52 0
2718402 erna__mos 발명도둑잡기갤로그로 이동합니다. 06.26 12 0
2718401 새로판 네이버계정으로 카페에서 1인 2역하면 걸릴수도있음? [2] 프갤러(121.125) 06.26 25 0
2718400 인공지능이 다 한다고생각하니까 무료해지네 ㅇㅅㅇ 트렌더갤로그로 이동합니다. 06.26 16 0
2718399 서버 보통 몇개로 나눔? [1] 타입스크립트갤로그로 이동합니다. 06.26 57 1
2718398 아조오옹나화남 보법E노무현갤로그로 이동합니다. 06.26 19 0
2718397 three.js 왜이리 어려움? 프갤러(58.232) 06.26 29 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2