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

Удвоить все найденные вхождения строки в текст - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Есть ли какая-нибудь возможность рандомизировать процесс перемешивания элементов контейнера http://www.cyberforum.ru/cpp-beginners/thread624388.html
Есть в библиотеке алгоритмов такой алгоритм, который случайным образом перемешивает элементы данного контейнера. Все бы хорошо, но вот только в том, что он всегда перемешивает их одним и тем же образом. Есть ли какая-нибудь возможность рандомизировать этот процесс?
C++ С++ Скорость компиляции Всем привет. Подскажите пожалуйста как отображать скорость компиляции программы в консольном окошечке как на этом изображении. http://plasmon.rghost.ru/39234434/image.png http://www.cyberforum.ru/cpp-beginners/thread624366.html
C++ дана матрица вывести на экран сумма диагонали матрицы
буду благодарен дана матрица вывести на экран сумма диагонали матрицы
C++ Массив: Вывести на экран элементы массива, квадрат которых не будет превышать N
помогите пожалуйста Дан массив вывести на экран элементы массива квадрат которых не будет превышать N
C++ Инициализация членов структуры http://www.cyberforum.ru/cpp-beginners/thread624330.html
Здравствуйте. Имеется код: #include <iostream> struct Pizza { char name; double diametr; double weidth; };
C++ Перемешать массив строк. Здравствуйте, не могу сделать программу, где будет генерироваться имена без повторов, тоесть даны к примеру 8 имен, и она должна выдавать их примерно так: имя1 и имя7 имя3 и имя5 имя8 и имя2 имя6 и имя4 Имя не должно повторяться. Каким образом сделать так, чтобы имена не повторялись? подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
16.07.2012, 14:24     Удвоить все найденные вхождения строки в текст
prettynetty, как таковой функции Pos в языке не существует её надо писать. Предагаю на рассмотрение не очень сложный код на Си как раз с самописной функцией Pos
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
//ÔóГ*êöèÿ âîçâðГ*Г№Г*ГҐГІ ïîçèöèþ 1-ГЈГ® âõîæäåГ*ГЁГї sub Гў str
//Åñëè sub îòñóòñâóåò Гў str âîçâðГ*Г№Г*åìîå Г§Г*Г*Г·ГҐГ*ГЁГҐ -1
int Pos(char * str, char * sub); 
 
//"Г¬Г*Г¬Г* ìûëГ* Г°Г*ìó Г°Г*ìó ìûëГ* Г¬Г*Г¬Г*"
int main()
{
    int pos = -1;//Áóäåò ñîäåðæГ*ГІГј Гў Г±ГҐГЎГҐ ïîçèöèþ ïîäñòðîêè Гў ГІГҐГЄГ±ГІГҐ
    system("chcp 1251");//ðóññèôèêГ*öèÿ
    char text[1024] = {0};//áóäåò ñîäåðæГ*ГІГј Гў Г±ГҐГЎГҐ ââîäèìûé ГІГҐГЄГ±ГІ
    char buf [1024] = {0};//ГЎГіГґГґГҐГ° äëÿ èñõîäГ*îãî ГІГҐГЄГ±ГІГ*
    char str [64]   = {0};
    printf("Enter text (less than 1024 chars) : ");
    scanf("%[^\n]",text);getchar();//Ââîäèì ГІГҐГЄГ±ГІ
    printf("Enter string (less than 64 chars) : ");
    scanf("%[^\n]",str);getchar();//Ââîäèì ñòðîêó
    int sLen = strlen(str);//ÓçГ*Г*ВёГ¬ äëèГ*Г*Гі ïïîäñòðîêè 
    pos = Pos(text, str);//Èùåì ïîäñòðîêó Гў ГІГҐГЄГ±ГІГҐ
    while(-1 < pos)
    {
        //Êîïèðóåì Гў ГЎГіГґГҐГ° Г·Г*Г±ГІГј ñòðîêè ïîñëå str
        strcpy(buf, text + pos + sLen);
        text[pos + sLen] = '\0';//ГЋГІГЎГ°Г*ñûâГ*ГҐГ¬ îñòГ*ГўГёГіГѕГ±Гї Г·Г*Г±ГІГј ГІГҐГЄГ±ГІГ*
        strcat(text, str);//ÄîáГ*âëÿåì ГЄ ñòðîêå str (äóáèëèðóåì ГҐВё)
        strcat(text, buf);//ÄîáГ*âëÿåì ГЄ ñòðîêå îòáðîøåГ*Г*ГіГѕ Г·Г*Г±ГІГј
        //Èùåì ñëåäóþùåå Г§Г* pos âõîæäåГ*ГЁГҐ str Гў ГІГҐГЄГ±ГІ
        pos = pos + 2*sLen;
        if(-1 < Pos(&text[pos], str))
            pos = pos + Pos(&text[pos], str);
        else
            pos = -1;
    }
    printf("Text after doubling : %s\n", text);
    system("pause");
    return 0;
}
 
int Pos(char * str, char * sub)
{
    int pos = -1;
    char * buf = NULL;//ÓêГ*Г§Г*òåëü Г*Г* ñòðîêó
    if(str != NULL && sub != NULL)
    {
        buf = strstr(str,sub);
        if(buf != NULL)
            pos = strlen(str) - strlen(buf);
    }
    return pos;
}
Миниатюры
Удвоить все найденные вхождения строки в текст  
 
Текущее время: 06:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru