Форум программистов, компьютерный форум CyberForum.ru

Конкатенация - C++

Восстановить пароль Регистрация
 
cansellxgodx
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 39
10.04.2014, 19:14     Конкатенация #1
В файле-словаре найти и распечатать слова, которые могут быть
полностью составлены из других слов словаря с помощью
конкатенации, например: “БАЛКОН” = “БАЛ” + “КОН”; “БАРСУК”
= “БАР” + “СУК”.
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <io.h>
#include <stdio.h>
#define bzero
 
 
 
 
 
 
int main()
{
  // сначала отрываем файл file
  // и читаем данные в массив
  char *dict[100];
 
  int i = 0;
  FILE* file;
file=fopen("D:\Games\\lol.txt","rt");
while (!feof(file)) {
 
    char buf[64];
    fscanf(file, "%s", buf);
     dict[i] = new char[strlen(buf) + 1];
    strcpy(dict[i], buf);
    
    
   ++i;
   
  }
  int n = i; // n количество элементов в массиве
 
  // ну и тут уже ищем в массиве чего так да как.
  for (i = 0; i < n;) {
    char buf[32];
    bzero  (buf, 32); // забить нулями
    strcat(buf, dict[i]);
    int j;
    for (j = 0; j < n;) {
      strcat(buf, dict[j]);
      int k;
      // на этом этапе имеем в buf результат конкатинации двух строк
      for (k = 0; k < n; ++k) {
         if (strcmp(dict[k], buf) == 0) { // если одно из слов совпало с результатом конкатинации
           printf("%s\n", dict[k]);
         }
      }
      // освободим буфер от второго слова в нем.
      k = strlen(dict[j]);
      bzero(&buf[k + 1], 32 - k - 1);
    }
  }
 
  // в конце программы надо освободить память.
  for (i = 0; i < n; ++i) {
    free(dict[i]);
  }
  return 0;
}
она то запускается но не работает, помогите пожалуйста!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 19:14     Конкатенация
Посмотрите здесь:

Конкатенация в С++ C++
C++ конкатенация строк
C++ Конкатенация строк
конкатенация char C++
Конкатенация строк C++
конкатенация строк C++
C++ Конкатенация
Конкатенация строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 20:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru