배열 첫,끝 구분하기 질문드립니다.
초코향
안녕하세요. 배열을 이용해서 예외처리를 하려고 하는데 잘안되네요.
바로 질문들어 가겠습니다.
배열을 선언하고 배열에 특정 값들이 쓰여집니다.
이때 처음과 끝에는 항상 시작과 끝을 알리는 문자가 쓰여집니다.(항상 일정한 값)
header와 tail이라고 하겠습니다.
header는 제일 처음 즉, addr[0] 이 겟죠.
하지만 tail은 데이터의 길이에 따라 달라집니다.(데이터의 길이는 일정치 않음)
그래서 배열의 크기가 50이라면
for(int i=0;i50;i++)
배열 전체를 확인 하여 특정 값이 확인되면 check를 하여 데이터의 처음과 끝을 구별하고 싶습니다.
어떻게 보면 엄청 단순한건데 머리가 잘 안돌아 가네요.. 뭔가 체계적으로 소스를 짜고 싶은데 도움을 요청합니다.
* 간혹 header와 tail 사이의 0(NULL)값이 연속해서 들어옴.
-
푸른잎 2023-06-21
header = addr[0];
for (int i = 1; i 50; i++)
{
if (addr[i] == header)
{
break;
}
if (i = 50) { //오류 처리 }
else
{
length = i - 1; // header, tail 제외
}
} -
들빛 2023-06-21
for문을 1 부터 돌리세요.
-
솔로 2023-06-21
알고리즘이 뭔가 거창한거라고 착각하시는거 같은데 밥먹을때 숫가락 들고 밥뜨는 일련의 행위도 알고리즘입니다.
앞 뒤가 완전해야 하면 앞 뒤가 안전할때까지 50회 검사하시고 50회가 끝낫는데 tail이 여전히 등장하지 않았으면 에러로 처리하시면 됩니다. 제 코드에선 sentry_count가 for를 벗어낫는데도 1인 경우가 되겟죠.
좀더 그럴싸해 보이는 복잡한 형태는 본격적인 상태기계를 모방하는 일련의 함수군과 상태 표지 모델인데
다시 쓰지만 이게 더 -
카제 2023-06-21
메모리에 값을 쓸때 header와 tail을 이용해서 전송크기를 알 수 있잖아요? 0x7e의 값이 header와 tail의 값인데 이 양쪽의 값이 정상적으로 들어왓을때 데이터를 쓰게하고 그 외의 상황을 예외처리하고 싶은겁니다. 알고리즘을 만들고 싶은데 ... 더 좋은 방법이 없나요?
-
꽃 2023-06-21
저게 가장 간단한 체계적인 방법입니다. 아니면 head, tail을 다른값으로 만드시던가 렉서마냥 상태기계 만드시면 됩니다.
근데 전자는 입력값을 건들여야 하는거니 기각이고, 후자는 제 코드와 하는일은 같으면서 괜히 코드만 늘어나죠 -
깜찏한그1녀 2023-06-21
int j 해서 j값을 상승시키고 그 값이 2가 되면 빠져나가게끔? 전 조금더 체계적으로 하고 싶어서 그러거든요..
-
Sweet 2023-06-21
그럼 두번째 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 -
다크 2023-06-21
header와 tail값이 같습니다. 님과 같이 하면 header와 tail의 값이 같기 때문에 i의 값은 0이 되겟지요
-
옆집언니야 2023-06-21
for i in 0...50
break if ary[i] == tail
do something...
endfor
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |