수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

배열 첫,끝 구분하기 질문드립니다.

겨울바람

2023.04.01

안녕하세요. 배열을 이용해서 예외처리를 하려고 하는데 잘안되네요.

바로 질문들어 가겠습니다.

배열을 선언하고 배열에 특정 값들이 쓰여집니다.

이때 처음과 끝에는 항상 시작과 끝을 알리는 문자가 쓰여집니다.(항상 일정한 값)

header와 tail이라고 하겠습니다.

header는 제일 처음 즉, addr[0] 이 겟죠.

하지만 tail은 데이터의 길이에 따라 달라집니다.(데이터의 길이는 일정치 않음)

그래서 배열의 크기가 50이라면

for(int i=0;i50;i++)

배열 전체를 확인 하여 특정 값이 확인되면 check를 하여 데이터의 처음과 끝을 구별하고 싶습니다.

어떻게 보면 엄청 단순한건데 머리가 잘 안돌아 가네요.. 뭔가 체계적으로 소스를 짜고 싶은데 도움을 요청합니다.

* 간혹 header와 tail 사이의 0(NULL)값이 연속해서 들어옴.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 날애

    header = addr[0];
    for (int i = 1; i 50; i++)
    {
    if (addr[i] == header)
    {
    break;
    }
    if (i = 50) { //오류 처리 }
    else
    {
    length = i - 1; // header, tail 제외
    }
    }

  • 던컨

    for문을 1 부터 돌리세요.

  • 한샘가온

    알고리즘이 뭔가 거창한거라고 착각하시는거 같은데 밥먹을때 숫가락 들고 밥뜨는 일련의 행위도 알고리즘입니다.

    앞 뒤가 완전해야 하면 앞 뒤가 안전할때까지 50회 검사하시고 50회가 끝낫는데 tail이 여전히 등장하지 않았으면 에러로 처리하시면 됩니다. 제 코드에선 sentry_count가 for를 벗어낫는데도 1인 경우가 되겟죠.

    좀더 그럴싸해 보이는 복잡한 형태는 본격적인 상태기계를 모방하는 일련의 함수군과 상태 표지 모델인데
    다시 쓰지만 이게 더

  • 월향

    메모리에 값을 쓸때 header와 tail을 이용해서 전송크기를 알 수 있잖아요? 0x7e의 값이 header와 tail의 값인데 이 양쪽의 값이 정상적으로 들어왓을때 데이터를 쓰게하고 그 외의 상황을 예외처리하고 싶은겁니다. 알고리즘을 만들고 싶은데 ... 더 좋은 방법이 없나요?

  • 맛조이

    저게 가장 간단한 체계적인 방법입니다. 아니면 head, tail을 다른값으로 만드시던가 렉서마냥 상태기계 만드시면 됩니다.
    근데 전자는 입력값을 건들여야 하는거니 기각이고, 후자는 제 코드와 하는일은 같으면서 괜히 코드만 늘어나죠

  • 솔찬

    int j 해서 j값을 상승시키고 그 값이 2가 되면 빠져나가게끔? 전 조금더 체계적으로 하고 싶어서 그러거든요..

  • 빛솔

    그럼 두번째 head가 등장하면 빠져나가면 그만이죠
    sentry_count = 0
    for i in 0...50
    if ary[i] == head
    sentry_count += 1
    break if sentry_count == 2
    endif

    do something...
    endfor

  • 하늘

    header와 tail값이 같습니다. 님과 같이 하면 header와 tail의 값이 같기 때문에 i의 값은 0이 되겟지요

  • 딥자두

    for i in 0...50
    break if ary[i] == tail

    do something...
    endfor

번호 제 목 글쓴이 날짜
2699555 c언어 다항식을 입력을 했는데 왜 출력이 안될까요? 피스케스 2025-06-27
2699528 C언어 포인터연산 질문입니다. (3) 안녕나야 2025-06-26
2699476 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) 클라우드 2025-06-26
2699444 [좀 급함] system("explorer [주소] ") 문에 변수를 사용할 수 있나요? 알 2025-06-26
2699415 파일//read//와 배열 아란 2025-06-25
2699386 구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요? (1) 미즈 2025-06-25
2699361 연결리스트 정렬하는 부분에 대해서 질문 드립니다 아이처럼 2025-06-25
2699304 [기초]아직 안주무시는분 계신가요..?포인터배열? 좀 도와주세요. 놀리기 2025-06-24
2699272 printf() 함수이용해서 프로그램 만들기 질문요! (5) 다가 2025-06-24
2699221 PUSH와 POP코드를 더 간단하게 어떻게 해야할까요? 파라미 2025-06-24
2699192 설치오류가 자꾸 나요 한번봐주세여~ (1) 소녀틳향기 2025-06-23
2699161 for loop안에 있는 if문 (9) Orange 2025-06-23
2699105 링크더리스트 이전 링크값 출력함수. 꼬꼬마 2025-06-23
2699078 정수를 한자리씩 배열에 담는 법은 어떻게 하나요.. (4) 귀염포텐 2025-06-22
2699024 C언어 공부하려는데 도와주세요!!! (2) 달님 2025-06-22
2698994 날짜 계산하는 C 코드 짜고 있는데 꽉 막혀서 질문드립니다.. (6) 별 2025-06-22
2698967 파일삭제 윈도우 폴더까지 접근하게하는 함수가 뭔가요 (2) 샤인 2025-06-21
2698938 c언어 메모리질문 (3) 나래 2025-06-21
2698909 서비스 요청 고객 관리 프로그램 짜는것좀 도와주세요ㅜㅜ (4) 궁수자리 2025-06-21
2698882 프로그래밍좀 짜주세요 (3) 황예 2025-06-21
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com