Поиск по файлу

Тема в разделе "WASM.BEGINNERS", создана пользователем sparky, 14 окт 2009.

  1. sparky

    sparky New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2009
    Сообщения:
    1
    Нужно написать подобие переводчика. Для начала нужно написать поиск по файлу. Пользователь вводит значение затем данное значение ищется в файле, файл организован следующим образом:
    анг. слово;рус. слово

    Нужно чтобы вывелся перевод.
    У меня толком нет наработок, но выложу
    .model tiny
    .code
    org 100h
    main:
    ;===============================
    ;ввод значения, которое нужно найти
    mov ah,09h
    mov dx,offset mesinput
    int 21h

    mov dx,offset input
    mov ah,0ah
    int 21h
    ;================================
    ;



    ;================================
    ;вывод ответа
    error:
    mov dx,offset perstr
    mov ah,09h
    int 21h

    mov dx,offset mesoutput
    mov ah,09h
    int 21h

    ret


    ;===============================
    ;данные
    myfile db "c:\Proglan\TASM\SOURCE\lingvo. txt"
    mesinput db "введите слово:",0dh,0ah,'$'
    mesoutput db "перевод:",0dh,0ah,'$'
    perstr db 0ah,0dh,'$'
    input db 20
    handler dw ? ;дескриптор файла
    end main
     
  2. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    построй дерево

    Например для слов ABED, ABET, ACE, ACT
    Код (Text):
    1.   ----A----
    2.    |       |
    3.    B      -C-
    4.    |      |  |
    5.   -E-     E  T
    6.   | |
    7.   D T
     
  3. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Посадить дерево)))
    Не нужно ему дерево, файл у него дан. Задача не в способе хранения, а в поиске в уже заданном файле.

    Я бы сделал цикл и читал побайтово файл, пока не встречу разделитель(в данном случай ";") и сверял с оригиналом. Если совпало: читаем что стоит после разделителя. Если нет, просто читаем по байтово, пока не перйдем к следущему слову.

    Задача не сложная, требует времени и усидчивости. Если затрудняетесь, нарисуйте алгоритм на листочке. Пусть он даже простой как два пальца, но в начинаниях помогает.