Jak prawidłowo zapisać i sformatować tablice do .txt w Pascalu?

0

Mam problem dotyczący zapisu tablicy do .txt w Pascalu. Napisałem program, który w konsoli wyświetla tabele z tabliczką mnożenia i następnie zapisuje go do pliku .txt. Problem leży w dublowaniu ostatniej kolumny, nie mam pojęcia skąd się to bierze i jak to wyeliminować.
Oto mój kod:

program TABLICZKA_MNOZENIA;
var
  tab: array [1..10, 1..10] of integer;
  a,b:integer;
  plik:text;
begin
 assign(plik,'tabliczka.txt');
 rewrite(plik);
  for a:=1 to 10 do
   for b:=1 to 10 do
    tab[a,b]:=a*b;
  for a:=1 to 10 do
   for b:=1 to 10 do
    begin
      write(tab[a,b]:5);
       if b=10 then
        writeln;
    end;
        for b:=1 to 10 do
         begin
          for a:=1 to 10 do
           write(plik, tab[a,b]:5);
            writeln(plik, tab[a,b]);
         end;
  close(plik);
  readln;
end.

A w notatniku wygląda to tak:

    1    2    3    4    5    6    7    8    9   1010
    2    4    6    8   10   12   14   16   18   2020
    3    6    9   12   15   18   21   24   27   3030
    4    8   12   16   20   24   28   32   36   4040
    5   10   15   20   25   30   35   40   45   5050
    6   12   18   24   30   36   42   48   54   6060
    7   14   21   28   35   42   49   56   63   7070
    8   16   24   32   40   48   56   64   72   8080
    9   18   27   36   45   54   63   72   81   9090
   10   20   30   40   50   60   70   80   90  100100

Chcę usunąć dublowanie się ostatniej kolumny.

0

Dopisz sobie ifa w miejscu gdzie masz write i writeln obok siebie. W tym ifie daj warunek że jeśli a jest mniejsze niż 10 to ma być write, a jak a jest równe 10 to writeln. Ewentualnie daj samo writeln (żeby przeszło do następnej linii). Pascal? W szkole to masz?

0
for b:=1 to 10 do
begin
  for a:=1 to 10 do
    write(plik, tab[a,b]:5);

  writeln(plik, tab[a,b]);
end;

Poniższa linijka jest odpowiedzialna za dublowanie kolumny:

writeln(plik, tab[a,b]);

Niepotrzebnie podajesz tab w tej linijce, nie powinno go być:

writeln(plik);

Wygląda na to, że kopiuj-wklej zrobiło Ci psikus. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1