-1

サイズ 10X10 のマトリックスの最後の列の後にいくつかの列を追加したいと考えています。私は以下のようなコードを書きました:

 for i:=1 to N
      do
    begin
      for j:=1 to N  do
        if j = N then
        begin
         if fileexists('d:\A\'+'img'+inttostr(I)+' '+'0'+'.bmp') then

          Write(f,input^[i]^[j],' ','0')
        end
          else
           Write(f,input^[i]^[j],' ','1');

しかし、このコードは他の列の間に列を追加します。誰でもこれを解決できますか?

4

1 に答える 1

3

FileExists予想よりも早くテストを終了していると思います。

このコードは、すべての固定列が書き込まれた後、追加の列に何かを書き込みます。

for i := 1 to N do
begin
  for j := 1 to N do
    Write(f, input^[i]^[j], ' '); 
  // Now it is time for writing the extra column   
  if FileExists('d:\A\' + 'img' + inttostr(i) + ' ' + '0' + '.bmp') then
    WriteLn(f, '0')
  else
    WriteLn(f, '1');
end;

編集:ファイルをテストする必要があるのは、インデックス i ごとに 1 回だけです。コードを更新しました。

于 2012-07-30T05:17:32.350 に答える