Обработка текста c++

230
10 мая 2018, 07:38

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

#include "stdafx.h"
#include <locale.h>
#include <iostream>
#include <cmath>
#include <stdlib.h>
#include <cstdio>
using namespace std;
void str(char*, int&, int, char, char*y, int & h);
int main()
{
    int j, k, i, n, min, ik, in, s, h, u;
    setlocale(LC_ALL, "russian");
    cout << "введите знак который нужно удвоить: ";
    char  m;
    cin >> m;
    char x[100] = { 0 };
    char y[100] = { 0 };
    cout << "вводите текст. стоп знак = $." << endl;
    cin.get(x, 100, '$');
//  cout << x;              вывод массива который ввели
    i = 0; in = 0; ik = 0; s = 0;h = 0;u = 0;
    cout << "модифицированый массив" << endl;
    while (x[i]){
        y[h] = x[i];
        if (x[i] == '\n'){
            ik = h;
            str(x, in, ik, m, y, h);    
            for (int z = in; y[z]; z++){
            cout << y[z];
        }   
            in = h + 1;
        }
        h++;
        i++;    
    }
cout << y;
    system("pause");
    return 0;
}
void str(char*c, int & d, int e, char l, char*y, int&h){
    int in = 0;
    int z = 0;
    h = d;
    for (int j = d; j < e; j++){
        y[h] = c[j];
        if (y[h] == l){
            h++;
            y[h] = l;
            }
        h++;
        }
    y[strlen(y)] = '\n';
}

Как сейчас выглядит вывод

введите знак который нужно удвоить: a
вводите текст. стоп знак = $.
asd
dsa
aaasss
sssaaa
s
a
$
модифицированый массив

aasd
saa
aasss
s
aaaaaa
s



aasd
saa
aasss
s
aaaaaa
s

Как он примерно должен выглядеть

введите знак который нужно удвоить: a
вводите текст. стоп знак = $.
asd
dsa
aaasss
sssaaa
s
a
$
модифицированый массив
aasd
dsaa
aaaasss
sssaaaa
s
aa
aasd
dsaa
aaaasss
sssaaaa
s
aa
READ ALSO
Дружественные функции

Дружественные функции

Есть класс, в котором объявлена дружественная функция, я хочу её определить тут же, те

186
Использовать Cuda в существующем проекте

Использовать Cuda в существующем проекте

Мне по диплому нужно оптимизировать алгоритм (resize) библиотеки Magick++ при помощи Cuda

208
Добрый день! есть todo List .а localStorage не работает до конца) Что не так? заранее благодарю за помощь!

Добрый день! есть todo List .а localStorage не работает до конца) Что не так? заранее благодарю за помощь!

Вы не показали (не написали?) код, который использует элементы загруженного массивa todos для создания DOM-элементов во время загрузки страницы...

195
По клику на метку отображать поля из json

По клику на метку отображать поля из json

По клику нужно отображать поля принадлежащие этой ссылке(метке на карте)Отображаю только Id метки, нужно вытащить остальные, objectManager

210