-1
我正在解決3個陣列問題。他們中的兩個我已經解決了,而且我有兩個問題。如何以不同的方式將陣列複製到另一個陣列 - Pascal
如果前兩個的代碼是好的以及如何解決第三個問題。
好的,第三個問題是以這種方式將數組複製到另一個數組:arrayA = [1,2,3],然後arrayB爲[1,2,3,3,2,1]。
首先從頭到尾,然後從頭到尾。第一個問題是以這種方式將arrayA複製到arrayB:arrayA = [1,2,3],arrayB = [1,1,2,2,3 ,3]。 我只會發布我的僞代碼。
while i<length(a) do begin
b[j]=a[i];
j+=1;
if (j+1) MOD 2 =0 then i+=1;
end;
另一個之一是arrayA複製到arrayB twice.arrayA = [1,2,3],arrayB = [1,2,3,1,2,3]。在這裏,我用循環:
for i=1 to length(a) do arrayB[i]=arrayA[i];
for i=length(a)+1 to 2*length(a) do arrayB[i]=arrayA[i-length(a)]
你的描述是難以遵循,但最大的問題是,你的例子是不完整的。根據陣列類型的不同,Pascal中的邊界可能會有所不同,因此您所展示的內容不足以回答任何問題。哦,並啓用所有檢查(範圍,溢出,算術),如果您使用Free Pascal,則啓用-CRriot。 –
它是由我分配的數組,不是動態的,所以索引從1開始......我沒有明白,CRiot如何幫助我? –
這就是問題,@Hasin。你沒有發佈你的分配代碼,人們無法猜測它是如何。如果你想獲得更多的幫助,我建議你發佈更多的代碼。 –