Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 7

Найти все пары слов с наибольшим расстоянием.

28.09.2011, 21:47. Показов 1551. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пусть у нас есть текстовый файл,на который не накладываются ограничения относительно его размера. Также не накладываются ограничения на длину строки в этом файле.
Текст состоит из слов,например,идентификаторы английского языка. Слова разделяются промежутками, скобками,кодами операций,вообще символами,которые естественным образом отделяют слова друг от друга. Пусть ограничение на длину слова составляет 30 букв.
В поле результата нужно вывести слова без повторений, которые удовлетворяют следующему условию:
Пусть расстояние между двумя словами - это количество позиций, которые отличаются буквами. Найти все пары слов с наибольшим расстоянием.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.09.2011, 21:47
Ответы с готовыми решениями:

С клавиатуры вводится заданное количество слов. Найти все пары слов, одно из которых оканчивается на то же сочетание
С клавиатуры вводится заданное количество слов. Найти все пары слов, одно из которых оканчивается на то же сочетание букв, на которое...

Вывести на экран все пары городов с расстоянием менее 100 км между ними
Помогите пожалуйста с решение задачи на массивы. неужто сложно напечатать задания руками? а еще для каждого задания желательно...

Найти все пары слов
Здравствуйте! Помогите пожалуйста с задачей... Найти в тексте все слова, встречающихся в одинаковых контекстах (между одних и тех же...

3
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
29.09.2011, 08:17
strtok в помощь
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.09.2011, 16:55
Дария_, на скорую руку накидал, попробуй как вариант а не решение данной задачи.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <fstream>
#include <iostream>
#include <set>
#include <string>
using namespace std;
#define SEPARATE  "\n\t,.:;!? +-/*\\\"'[](){}()\r "
 
struct scmp { 
    bool operator () (string s1, string s2) const{
        return s1.compare(s2) < 0;
   }
};
void tokenize(set<string, scmp>* coll, string str);
int  max_ch(const char* str1, const char* str2);
 
int  main(void) {
  set<string, scmp> swords;
  fstream  fp("D:\\words.txt", ios_base::in);
 
  if(! fp.is_open())
        exit(1);
 
  string str;
  while(! fp.eof()) {
       getline(fp, str, '\n');
       tokenize(&swords, str);
  }
  fp.close();
 
  // обработка с поиском схожести слов на символы
  int tmp, num;
  set<string, scmp>::iterator ptr, pos, oiter;
  set<string, scmp>::iterator iter = swords.begin();
  while(iter != swords.end()) {
       pos  = iter;
       oiter = iter;
       for(tmp = 0, ptr = ++iter; ptr != swords.end(); *ptr++) {
               num = max_ch(pos->c_str(), ptr->c_str());
               if(num > tmp) {
                  tmp = num;
                  oiter = ptr;
              }
       }
        if(tmp) { 
              cout.width(32);
              cout << pos->c_str() << "\t-" << tmp << "-\t" << oiter->c_str() << endl;
              *oiter = "";
              *pos   = "";
        }
  }
  swords.clear();
  system("pause");
  return 0;
}
 
// функция по разбивки строки на слова
void tokenize(set<string, scmp>* coll, string str) {
    string  sb;
    size_t  i = 0u;
    do {
          if(isalnum(str[i]) && i != str.length()) 
                 sb += str[i];
          else {
                if(sb.length() > 0u) 
                      coll->insert(sb);
                sb = "";
          }
     } while(++i <= str.length());
}
 
// подсчёт символов идентичности между словами
int  max_ch(const char* str1, const char* str2) {
  const char* str;
  int  len;
  for(len = 0; *str1; *str1++) {
          for(str = str2; *str; *str++) {
                if( *str == *str1 ) {
                       len++;
                       break;
                 }
           }
  }
  return len;
}
1
0 / 0 / 0
Регистрация: 28.09.2011
Сообщений: 7
05.10.2011, 22:16  [ТС]
спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.10.2011, 22:16
Помогаю со студенческими работами здесь

В тексте найти все пары слов, из которых одно является обращением другого
Ребята, эта последняя задача помогите решить мне ну очень нужно)) В тексте найти все пары слов, из которых одно является обращением...

В тексте найти все пары слов, из которых одно является обращением другого
Здравствуйте. Моя задача уже почти решена import java.io.PrintWriter; import java.util.Arrays; import java.util.Scanner; import...

В тексте найти все пары слов, из которых одно является обращением другого
Задачка такая: В тексте найти все пары слов, из которых одно является обращением другого. т.е. если в предложении есть слово...

В тексте найти все пары слов, из которых одно является обращением другого (консольное приложение)
Только начинаю изучать яву, преподаватель дал решить задачу в короткие сроки. Вроде простая задача: В тексте найти все пары слов, из...

Найти в тексте все пары слов, каждое из которых можно получить перестановкой букв второго слова
дан русский текст.Найти в тексте все пары слов ,каждое из которых можно получить перестановкой букв второго слова. Например,слова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru