파스칼에서 특정 문자로 시작하는 텍스트 (사용자 입력)의 단어 수를 감지해야하는 프로그램을 작성해야합니다. 배열을 사용할 수 없습니다. 어디서부터 시작할 지에 대한 힌트를주세요.파스칼 도움말에서 단어 카운터 작성
답변
어떤 편지인지 알면 카운터를 유지하기 만하면됩니다. 배열이 필요 없습니다.
어떤 편지인지 모르는 경우 26 개의 카운터를 보관하십시오. 바보 같지만 사양대로 작동합니다.
글자를 모르거나 배열을 사용할 수없는 경우 숙제 설정자를 촬영해야합니다. 유럽에 거주하면서 악센트 부호가있는 문자를 처리해야하는 경우가 아니면 26 가지 방법 또는 52 가지 방법으로 설명문을 사용해야하며 증분을 증가시켜야합니다. 그것에 대해 생각하지 않습니다. 등 뒤에서 묶인 한 손으로 사용하지 않고 파스칼을 사용하는 것은 충분히 어렵습니다. –
숙제 세터가 온순한 사람과 약한 사람을 제적하려고하지 않는 한. 어떤 프로그래밍 작업에서는 결국 26 개의 카운터에 해당하는 그릿을 가져야합니다. ( – DVK
먼저 할 일은 글자를 구성하는 문자 집합을 정의하거나 반대로 글자를 구성하지 않는 문자 집합을 정의하는 것입니다.
문자를 취하고 해당 문자가 문자인지 여부에 따라 부울 값을 반환하는 함수를 작성하십시오. 그런 다음 문자열을 반복하여 각 문자에 대해 호출합니다. 문자가 아닌 문자 바로 뒤 또는 문자열의 시작 부분에서 문자를 감지하면 대상 문자 인 경우 카운터를 증가시킵니다.
일치하는 경우 첫 번째 단어에 공백 문자 개수를 더합니다.
(S)는 입력 문자열입니다.
- 은 길이 (S)에 1부터 진행 루프를 생성 - 루프 내 1
- 체크 인 (S) [I] = ''와 (S) [I + 1] = 't'여기서 i는 루프 카운터이고 't'는 계산하려는 단어를 시작하는 문자입니다.
- 2 단계에서 기준이 일치하면 카운터가 증가합니다.
루프 크기에서 1을 빼십시오.
또한 문자열의 맨 앞에있는 문자가 일치하려는 것이고 위에 정의 된 루프에 의해 선택되지 않을 수도 있습니다.
하드 코딩 된 't'가 아닌 특정 문자를 찾을 수 있도록 코드를 더 스마트하게 만들어야하는 경우 루프가있는 함수/프로 시저에 요청 된 문자를 매개 변수로 전달할 수 있습니다.
내 머리 위로 떨어져은 - 당신이 배열이나 case 문을해야하는 이유
function WordCount(const S: string; const C: Char): Integer;
const
ValidChars: Set of Char [A..Z, a..z]; // Alter for appropriate language
var
i : Integer;
t : string;
begin
Result := 0;
if Length(S) <> 0 then
begin
t := Trim(S); // lose and leading and trailing spaces
t := t + ' '; // make sure a space is the last char
repeat
if (t[1] in ValidChars) and (t[1] = C then
inc(Result);
i := Pos(' ', t);
t := Copy(t(i+1, Length(t));
until Length(t) = 0;
end;
end;
을 테스트하지?
-1 그는 완전한 해결책이 아니라 힌트를 요청했습니다. –
질문자가 질문을했기 때문에 예를 보여줄 수 있다고 생각했습니다. 그는 "어레이 - 생각"을 향해 사용할 수 없다는 말로 질문합니다. – Despatcher
- 1. 레일에 간단한 증분 카운터 작성
- 2. 파스칼 날짜의 파스칼
- 3. jquery 단어 카운터 (최대 단어 추가)와 함께 도움이 필요합니다.
- 4. 다른 단어 카운터 간의 불일치의 원인은 무엇입니까
- 5. 큰 텍스트의 단어 사전 작성
- 6. 은 MSDN 도움말에서 -Vr
- 7. UIActionSheets 도움말에서 작업 만들기
- 8. MFC 스레드 UI 도움말에서
- 9. 보다 현실적인 임의 단어 생성기를 작성 하시겠습니까?
- 10. mysql 도움말에서 컴파일하는 배열이 필요합니다.
- 11. 조합이있는 C의 파스칼 삼각형
- 12. 배열의 파스칼 오류
- 13. 파스칼 - 파일에 쓰지 않음
- 14. 파스칼 케이스의 가장자리 케이스
- 15. 파스칼 - 다시 : 용도
- 16. 파스칼 - 신비 필드 증가
- 17. 파스칼 범위 오버런
- 18. 알고리즘 smbPitchShift (파스칼)
- 19. 무료 파스칼 온라인 IDE
- 20. Unit Importer가없는 파스칼 스크립팅
- 21. 파스칼 프로그램에서 잘못된 표현
- 22. 파스칼 구문 오류
- 23. ProgressBar Word 카운터 문제
- 24. 파스칼 프로그램에서 실행 시간 측정
- 25. 파스칼 및 델파이 구문 오류?
- 26. 파스칼 문자열을 이중으로 변환하는 방법?
- 27. mpz_t와 함께 파스칼 삼각형 만들기
- 28. 특별 카운터
- 29. 안드로이드의 카운터
- 30. 생성자의 카운터
모두, 문제는 해결 = D였습니다. –