Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> русский или английский текст в файле 
:(
    Опции темы
Podarochek
Дата 15.4.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Есть текстовый файл. Подскажите в какую сторону смотреть, чтобы опрделить на каком языке (русском или английском) записан текст в файл...
PM MAIL   Вверх
bsa
Дата 15.4.2008, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



статистика и теория вероятности.
PM   Вверх
Rififi
Дата 15.4.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



наверное только анализом по словарю...
PM MAIL   Вверх
HappyLife
Дата 15.4.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8



Я полагаю что у человека должно быть вариант очень легкий.... Либо русский либо латинские буквы нужно определить. А это просто пусть проверит код первого непробельного незнаковый символа.
PM MAIL   Вверх
Podarochek
Дата 15.4.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Цитата(bsa @  15.4.2008,  15:01 Найти цитируемый пост)
статистика и теория вероятности. 


Цитата(Rififi @  15.4.2008,  15:03 Найти цитируемый пост)
наверное только анализом по словарю... 


немного скуповатые ответы...
сравнивать символы с кодовой таблицей??? или...где? как?

Добавлено через 2 минуты и 1 секунду
Цитата(HappyLife @  15.4.2008,  15:07 Найти цитируемый пост)
А это просто пусть проверит код первого непробельного незнаковый символа. 



Незнакового?...А если там P.S. тра-ляля, это какой текст?
PM MAIL   Вверх
Rififi
Дата 15.4.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



Podarochek
- скачиваешь например Aspell
- скачиваешь словари
- разбираешься как с ними работать (или просто делаешь дамп в текстовой файл)
- каждое слово в тексте ищешь в словарях анализируемых языков
- где будет больше совпадений - тот и победил :gigi:
PM MAIL   Вверх
bsa
Дата 15.4.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



у...
господа, вы что? Какие словари? Опомнитесь. Все делается достаточно просто.
Во-первых, надо определиться с кодировкой русского файла. Скорее всего это будет cp1251. Характерная черта русских символов - их код больше 128. Поэтому если таких символов гораздо больше, чем от 'A' до 'Z' и от 'a' до 'z', то это русский, иначе английский.
PM   Вверх
Podarochek
Дата 16.4.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



т.е. всетаки сравнивать с таблицей!
PM MAIL   Вверх
jonie
Дата 17.4.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



нет. не таблицей. а просто диапазоном.
Код

while(!feof(file))
{
  if(read_char>128) then ++RU_chars;
  else ++EN_Chars;
  readnextchar();
}

if(abs(RU_chars-EN_Chars)>EPS) then "this is a russian lang";
else "this is english lang";

где EPS - заданый порог "разницы"

Это сообщение отредактировал(а) jonie - 17.4.2008, 08:59


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Podarochek
Дата 18.4.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Цитата(jonie @  17.4.2008,  08:58 Найти цитируемый пост)
где EPS - заданый порог "разницы"



а по каким критериям задавать этот порог?
PM MAIL   Вверх
bsa
Дата 18.4.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Podarochek, опытным путем.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0773 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.