Чтение одномерного массива из текстового файла - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

В текстовом файле file3.txt находится последовательность целых чисел в виде одномерного массива. Как считать этот массив из файла, чтобы потом при помощи ассемблерной вставки всё корректно отсортировать и записать обратно в тот же файл (запись в файл на паскале)? Сортировка на ассемблере работает исправно. Код в прикрепленном файле.
Листинг программы
  1. program aaaaaaa;
  2. uses crt;
  3. var
  4. i:integer;
  5. f:file of integer;
  6. n:integer;
  7. begin
  8. assign (f, 'C:\Users\ValTec\Documents\Dev C++\file3.txt');
  9. reset (f);
  10. while not eof (f) do begin
  11. read (f, n);
  12. writeln (n);
  13. end;
  14. close (f);
  15. asm
  16. cld
  17. push ds
  18. pop es
  19. @@1:
  20. lea si, mas
  21. mov di, si
  22. mov cx, n-1
  23. xor bx, bx
  24. @@2:
  25. lodsw
  26. cmp ax, [si]
  27. jle @@3
  28. xchg ax, [si]
  29. inc bx
  30. @@3:
  31. stosw
  32. loop @@2
  33. or bx, bx
  34. jnz @@1
  35. end;
  36. writeln('вывод');
  37. for i:=1 to n do
  38. writeln(mas[i]);
  39. readln;
  40. end.

Решение задачи: «Чтение одномерного массива из текстового файла»

textual
Листинг программы
  1. program aaaaaaa;
  2. var
  3.    n, i:integer;
  4.    mas : array[1..1000] of integer;
  5.    f:text;
  6. begin
  7.    assign (f, 'file3.txt');
  8.    reset (f);
  9.    n:=0;
  10.    while not seekeof (f) do
  11.    begin
  12.    inc(n);
  13.    read (f,mas[n]);
  14.    end;
  15.    close (f);
  16.    asm
  17.       cld
  18.       push ds
  19.       pop es
  20.    @@1:
  21.       lea si, mas
  22.       mov di, si
  23.       mov cx, n-1
  24.       xor bx, bx
  25.    @@2:
  26.       lodsw
  27.       cmp ax, [si]
  28.       jle @@3
  29.       xchg ax, [si]
  30.       inc bx
  31.    @@3:
  32.       stosw
  33.       loop @@2
  34.       or bx, bx
  35.       jnz @@1
  36.    end;
  37.    writeln('vyvod');
  38.    for i:=1 to n do
  39.       write(mas[n], ' ');
  40.    readln;
  41. end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы