1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Строковые переменные

Тема в разделе "Delphi - FAQ", создана пользователем safary, 4 дек 2008.

  1. safary

    safary Гость

    Репутация:
    0
    Помогите,пожалуйста, с программой. Незнаю как её делать. Буду очень благодарна за помощь. Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова "ноль","один",...,"девять", начиная каждое предложение с новой строки.
     
  2. etc

    etc Гость

    Репутация:
    0
    Боюсь что в общем задачу по времени будут решать так долго, что смысл в ее решении потеряется, иначе либо надо вводить доп условия, либо покупать готорый енжин. :o
     
  3. safary

    safary Гость

    Репутация:
    0
    Неужели все так плохо?))) У меня есть пару идей как это сделать, например через 2 массива - цифр и строк, но я не могу представить как это реализовать(
     
  4. etc

    etc Гость

    Репутация:
    0
    Плохо, то что,в ОБЩЕМ случае, распознать предложение в каком либо тексте очень не простая задача.
    Например: "... Мы приехали в г. Монте-Карло, что находится в княжестве Монако, что-бы на яхте "Алые Паруса" покататься на волнах самого прекрасного моря, и т.д.!"
    Сколько тут предложений? Как определили?
     
  5. safary

    safary Гость

    Репутация:
    0
    а если взять самый простой и идеализированный пример, где есть из знаков препинания только точка? и она всегда будет стоять только в конце предложения. и вообще это не самое важное, мне больше не понятен алгоритм замены цифр словами! =(
     
  6. etc

    etc Гость

    Репутация:
    0
    Вот поэтому я сразу и упоминал про доп условия, потому как в задаче об этом нини. А решать задачу неимея на руках все условия, мягко говоря бессмысленно.
    Ну это самое простое. А вам только цифры или числа? потому как это несколько разные понятия.
     
  7. safary

    safary Гость

    Репутация:
    0
    Нужно найти в тексте цифры, заменить их словами и вывести на экран текст из файла(см.условие);
     
  8. etc

    etc Гость

    Репутация:
    0
    safary Ну так это совсе не сложно. создаете примерно такой массив:
    ['нол', 'адын', 'двэ', 'тры', ... 'дэвят']
    далее найдя в тексте цифру меняете ее на элемент масива по индексу соответствующему найденной цифре, и все.
     
  9. safary

    safary Гость

    Репутация:
    0
    А можно примерный код? у меня постоянно какие то ошибки вылезают(
     
  10. etc

    etc Гость

    Репутация:
    0
    safary Показывайте, исправим.
     
  11. safary

    safary Гость

    Репутация:
    0
    Код:
    function ReplaceWord(str,word,value:string):string; 
    var 
    x1,x2,x3:integer; 
    begin 
    Result:=str; 
    x1:=pos(word,str); 
    if x1=0 then exit; 
    x2:=x1+Length(word); 
    x3:=Length(str)-x2+1; 
    Result:=Copy(str,0,x1-1)+value+Copy(str,x2,x3); 
    end; 
    
    const 
    mas:array[0..9]=('ноль', 'один', 'два', 'три',...,'девять'); 
    
    var 
    s:string; 
    i,ii:integer; 
    begin 
    assign(f_in, 'num.txt');
    reset(f_in); 
    s:=st[i]; 
    for ii:=0 to 9 do 
    begin 
    s:=ReplaceWord(s,inttostr(ii),mas[ii]); 
    end; 
    end;
    end.
    что примерно так =(
     
  12. etc

    etc Гость

    Репутация:
    0
    Перво-наперво надо прочитать в справке про массивы, для этого становитесь на слово array и нажимаете F1.

    Но ... тут в принципе и массив не нужен, просто тупо прореплейсить все цифры типа StringReplac или AnsiReplaceStr.
    ... но у вас и работа с файлами тоже храмает, надо читать ...


    ваш код это наверное сбор кусков из разных мест ... надо писать самой, а то так ничему не научитесь, да и к результату прийти проблематично.
     
  13. safary

    safary Гость

    Репутация:
    0
    Ну незнаю я как делать( пыталась- не получается( а толком никто не объяняет, я конечно понимаю, что я должна сама учится, но я все лабы сделала, а эту не могу( у меня прям к ней стойкое отсуствие мозгов(
     
Загрузка...

Поделиться этой страницей