,   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;
}
       
 
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
@Mail.ru