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

Вставить слово в определенную позицию в тексте - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не определен счетчик в цикле for http://www.cyberforum.ru/cpp-beginners/thread1308936.html
Подскажите пожалуйста, в чем ошибка? Выдает ошибку "идентификатор i не определен". int *mas = new int; for (int i = 0; i < 2; i++); { cout << "Введите элемент"; cin >> mas; }
C++ Как из переменной копировать цифры посимвольно в массив Например: есть переменная int х=1112; мне нужно эту переменную разбить по цифрах. и каждую цифру скопировать в в масив. a=1; a=1; a=1; a3=2; помогите решить данную проблему http://www.cyberforum.ru/cpp-beginners/thread1308927.html
Как ввести с клавиатуры слова в char? C++
подскажите пожалуйста как ввести с клавиатуры "fat a cat sit in the table" или другие слова?и как сделать так что бы в char s2 и как сделать так что бы char s1 записывалось тоже самое?? #include <cstdlib> #include <iostream> #include <string> using namespace std; void main() {
Перегрузка функции C++
Написать перегрузку функции: 1. а) Для массива целых чисел находит середнее арифметическое б) Для строки находит количество букв, которые в ней находятся(без пропусков, запятых, цыфр) 2. Написать функцию, с переменным числом параметров, которая находит суму всех чисел типа int до первого нулевого.
C++ Надо увеличить скорость работы программы http://www.cyberforum.ru/cpp-beginners/thread1308886.html
std::string separators(".:,;()-?!'+-/|"); std::map<std::string, int> repeatedWords; size_t index; std::fstream fin(fileName); std::set<std::string> stopWords = StopWords(); std::string string; while (getline(fin, string)) { for (size_t i = 0; i < string.size(); ++i)
C++ Построить дороги из единиц между городами из "-1" Требуется помощь. Задание таково: нужно задать две координаты точек и эти точки должны имееть в массиве значение -1. Далее требуется между этими точками построить, что-то по типу дороги из единиц. подробнее

Показать сообщение отдельно
Yana_Chernobay
0 / 0 / 0
Регистрация: 08.09.2014
Сообщений: 76
24.11.2014, 15:18  [ТС]     Вставить слово в определенную позицию в тексте
ssergius, ещё одна проблема, нигде не использовался указатель

Добавлено через 44 минуты
ssergius,
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
85
86
87
88
89
90
#include "stdafx.h"
#define _CRT_SECURE_NO_WARNINGS
 
#include <iostream>
 
using namespace std;
 
void func1(char *pred, char *etalon)
{
    // операция конкатенции, объединение строк
    strcat_s(pred, 50, " "); // скопировать пробел после предложения
    strcat_s(pred, 50, etalon); //скопировать слово эталон перед предложением
    cout << "Text: " << pred << endl; 
}
 
void func2(char*pred, char*etalon)
{
    strcat_s(etalon, 50, " ");//скопировать пробел после слова эталона
    strcat_s(etalon, 50, pred);
    cout << "Text: " << etalon << endl;
}
 
void func3(char* pred, char* etalon, char* slovo)
{
    int i = 0, k = 0;
    int len;
    char tempvar[50];
 
    len = strlen(slovo);// количество символов в слове
    while (i < strlen(pred))//проверяет каждую букву в предложении
    {
        if (pred[i] == slovo[k] && k < len) /*условие сравнивает символ предложения с символом слова, после которого надо вставить, 
            если совпадает, то увеличиваем К, если нет то К обнуляется.*/
            k++;
        else if (k == len && pred[i++] == ' ') 
            break;
        else 
            k = 0;
        i++;
    }
    k = 0; 
    int s = i;
    while (s < strlen(pred)) 
    {
        tempvar[k] = pred[s];//записываемм вторую часть предложения во временную переменную
        k++;
        s++;
    }
    pred[i] = '\0';//начиная с i-го символа в предложении заполняем всю правую часть пустотой(правая часть уже скопирована в tempvar)
    tempvar[k] = '\0';//тоже самое делаем и тут, иначе во второй части предложения, которую мы скопировал в цикле ранее запишется мусор
    strcat_s(etalon, 50, " ");//скопировать пробел после слова эталона, идёт обьединение строк
    strcat_s(etalon, 50, pred);
    strcat_s(pred, 50, tempvar);
    cout << "Text: " << pred << endl;
}
 
void main()
{ 
  setlocale(LC_ALL, "Russian");
  char pred[100];
  char etalon[100];
  char slovo[100];
  int a;
  while(1)//возможность многократного выполнения алгоритма 
{
  cout << "Введите предложение на транслите: " << endl;
  cin >> pred;
  cin.clear(); 
  cin.sync();
  cout << "Введите слово эталон:" << endl;
  cin >> etalon;
  cout << "Куда вставить слово эталон:" << endl;
  cout << "1) в конец предложения; " << endl;
  cout << "2) в начало предложения; " << endl;
  cout << "3) после слова N: " << endl;
  cin >> a;
 
   if (a==1)
      func1(pred, etalon);
   if (a==2)
      func2(pred, etalon);
   if (a==3)
     {cout << "Введите слово после которого хотите вставить слово еталон: " << endl;
     cin >> slovo;
     func3(pred, etalon, slovo);}
   if (a==0)
     {break;}
 }
  system("pause");
}
 
Текущее время: 15:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru