Чтение одномерного массива из текстового файла - Turbo Pascal
Формулировка задачи:
В текстовом файле file3.txt находится последовательность целых чисел в виде одномерного массива.
Как считать этот массив из файла, чтобы потом при помощи ассемблерной вставки всё корректно отсортировать и записать обратно в тот же файл (запись в файл на паскале)?
Сортировка на ассемблере работает исправно.
Код в прикрепленном файле.
Листинг программы
- program aaaaaaa;
- uses crt;
- var
- i:integer;
- f:file of integer;
- n:integer;
- begin
- assign (f, 'C:\Users\ValTec\Documents\Dev C++\file3.txt');
- reset (f);
- while not eof (f) do begin
- read (f, n);
- writeln (n);
- end;
- close (f);
- asm
- cld
- push ds
- pop es
- @@1:
- lea si, mas
- mov di, si
- mov cx, n-1
- xor bx, bx
- @@2:
- lodsw
- cmp ax, [si]
- jle @@3
- xchg ax, [si]
- inc bx
- @@3:
- stosw
- loop @@2
- or bx, bx
- jnz @@1
- end;
- writeln('вывод');
- for i:=1 to n do
- writeln(mas[i]);
- readln;
- end.
Решение задачи: «Чтение одномерного массива из текстового файла»
textual
Листинг программы
- program aaaaaaa;
- var
- n, i:integer;
- mas : array[1..1000] of integer;
- f:text;
- begin
- assign (f, 'file3.txt');
- reset (f);
- n:=0;
- while not seekeof (f) do
- begin
- inc(n);
- read (f,mas[n]);
- end;
- close (f);
- asm
- cld
- push ds
- pop es
- @@1:
- lea si, mas
- mov di, si
- mov cx, n-1
- xor bx, bx
- @@2:
- lodsw
- cmp ax, [si]
- jle @@3
- xchg ax, [si]
- inc bx
- @@3:
- stosw
- loop @@2
- or bx, bx
- jnz @@1
- end;
- writeln('vyvod');
- for i:=1 to n do
- write(mas[n], ' ');
- readln;
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д