저는 이것을 수행하는 법을 모르겠습니다 : 사용자가 콘솔에 의해 도입 된 90 개의 숫자를 삽입하고 빈 칸으로 구분하여 삽입해야하는 파스칼로 프로그램을 만들고 싶습니다. 2 차원 배열 (10x9). 누구든지 이것을 구현하는 방법을 알고 있습니까? 고마워요.Free Pascal은 배열에 숫자를 유지합니다
답변
var the_array:array[1..10] of array[1..9] of integer;
var i:integer; var j:integer;
...
i:=1; j:=1;
while i<=10 do begin
while j<=9 do begin
read(the_array[i,j]);
inc(j);
end;
j:=1;
inc(i);
end;
두 개의 인덱스를 사용하여 배열을 반복하며, read()를 호출하지 않고 채울 때 사용합니다.
짧은 구현을 원하면 대신에 area [1..10,1..9]를 정의하시오. 이 코드는 공백으로 제한된 숫자를 허용하지 않습니다.이 같은 90 개의 숫자를 입력하지 않으려합니다 (공백으로 구분되지는 않습니다). –
어떻게 공백 문자가 허용되지 않습니까? read()는 공백에서 멈추고, readln()은 캐리지 리턴에서만 멈춘다. 따라서 "1 3 5 2 3"과 같은 입력이 주어지면이 문자열은 5 개의 숫자로 파싱됩니다. 그리고 짧은 정의를 위해, 네, 이제는 Doublescript 배열을 선언하고 [a, b]로 선언 할 수없고 [a] [b]만으로 처리 할 수있는 Actionscript에 들어가기 때문에과 보상됩니다. – Vesper
FreePascal을 사용한다고 작성 했으므로 여기서 SScanF를 사용할 수 있습니다.
이 프로그램을 사용하면 공백으로 구분 된 숫자 행을 입력 할 수 있습니다. 완료되면 숫자가 인쇄됩니다.
나는 최종 사용자에게 이와 같은 것을 전달하지 않을 것이다. 대신 그래픽 사용자 인터페이스를 제공하지 않는 이유는 무엇입니까?
program Project1;
uses
SysUtils;
const
Lines = 10;
type
TNumberArray = array[0..Lines-1,0..9] of integer;
procedure GetNumbers(var nums:TNumberArray);
var Line:Integer; s:String;
begin
for Line := Low(nums) to high(nums) do
begin
Write('Enter line ',Line, ': ');
ReadLn(S);
SScanf(s,'%d %d %d %d %d %d %d %d %d %d',
[
@nums[Line,0],
@nums[Line,1],
@nums[Line,2],
@nums[Line,3],
@nums[Line,4],
@nums[Line,5],
@nums[Line,6],
@nums[Line,7],
@nums[Line,8],
@nums[Line,9]
]
);
end;
end;
procedure ShowNumbers(nums:TNumberArray);
var Line,Col:Integer;
begin
for Line := Low(nums) to high(nums) do
begin
for Col:=Low(nums[Line]) to High(nums[Line]) do
Write(nums[Line,Col], ' ');
WriteLn;
end;
end;
var
Numbers: TNumberArray;
begin
WriteLn('Enter 10 numbers');
GetNumbers(Numbers);
ShowNumbers(Numbers);
WriteLn('Done. Press a key to continue.');
ReadLn;
end.
그것은 당신이 하드 코드 열 수를하지 않도록하는 TStringList를를 사용하여 라인을 구문 분석 청소기,하지만이 작동합니다.
- 1. PHP 배열에 숫자를 표시하십시오.
- 2. 배열에 숫자를 넣는 방법
- 3. 자바의 두 배열에 숫자를 곱하면
- 4. 숫자를 배열에 푸시하는 생성자 만들기
- 5. 문자 배열에 숫자를 인쇄하려면 어떻게해야합니까?
- 6. 배열에 10 개의 숫자를 입력하려면 어떻게해야합니까?
- 7. 배열에 10 자리 숫자를 채우는 방법
- 8. 자바 스크립트에서 배열에 숫자를 추가하는 방법은 무엇입니까?
- 9. Free Pascal에는 Haskell과 같은 유형 변수가 있습니까?
- 10. free() 데이터 블록 C
- 11. Symbian OS에 Free Pascal 코드를 컴파일하는 방법이 있습니까?.
- 12. malloc/free.
- 13. Eclipse Free
- 14. `free()`래퍼
- 15. free() 포인터
- 16. 이 코드에서 malloc/free 바꾸기
- 17. CoreLocation을 유지합니다
- 18. 배열에 n 개의 가장 낮은 숫자를 저장 C
- 19. matlab에 파일을 열어 배열에 넣고 숫자를 측정 단위로 변환하십시오.
- 20. 난수 생성기가 두 배열에 동일한 숫자를 시드하는 이유는 무엇입니까?
- 21. PHP에서 배열에 숫자를 채우는 가장 빠른 방법은 무엇입니까?
- 22. free() 무효 포인터
- 23. MPI, calloc and free :
- 24. free() 이후의 메모리는 어떻게됩니까?
- 25. Html canvas free transform
- 26. malloc double free 동작
- 27. Amazon Free 인스턴스의 시간
- 28. 어디에서 Free() 함수를 호출해야합니까?
- 29. C 프로그래밍 -Malloc/Free
- 30. Leightweight Free PHP Filemanager
다른 두 개의 (현재 닫힌) 질문 중 하나에서 코드를 가져 와서이 코드에 입력해야 사람들이 지금까지 시도한 것을 알 수 있습니다. (편집하고, 태그 바로 아래에있는'edit' 링크를 사용하여 코드를 붙여 넣으십시오. 그러면 코드를 붙여 넣기 만하면됩니다.) –