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

Заменить в строках первое слово на другое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ итерация для просмотра бинарного дерева http://www.cyberforum.ru/cpp-beginners/thread21889.html
typedef struct tree{ int data; struct tree *leftPtr, *rightPtr, *parentPtr; }TREE; TREE *rootPtr, *tempPtr, *tmpPtr; void Print( TREE *sPtr )/*Функция печати элементов дерева*/ { if( sPtr->data != -1 ){
C++ максимальный элемент массива Дан массив из 7 целых чисел.Написать программу так ,чтобы она высчитывала максимальный элемент массива. {1,2,4,5,-7,8,21} Максимальный элемент 21. http://www.cyberforum.ru/cpp-beginners/thread21876.html
C++ выделение памяти
есть класс множество. необходимо создать класс "правило", одним из методов которого является добавление множества к соответствующему списку множеств. struct Node { Mnojestvo data; Node* prev; }; Node* push(Node* top, Mnojestvo d)
C++ Удаляем из строки слова перевёртыши...не понять в чём дело
программа должна удаляит из строки все слова которые читаются одинаково в дыух напралениях. #include <stdio.h> #include <stdlib.h> int main () { char mass="abba dolce ammo"; int i,j,m,k=0,fl1=0,fl2=0,v=0,p=0; for (i=0;i<50;i++){ if (mass==' ' || mass=='NULL'){
C++ Подключение к беспроводной сети http://www.cyberforum.ru/cpp-beginners/thread21803.html
Люди кто-нибудь знает как программно можно подключиться к беспроводной сети через логин и пароль, если подключение удалось вывести "connect", а если нет "disconnect"?
C++ Выделение памяти scanf Всем привет #include <windows.h> #include <stdio.h> char * c = (char *)malloc(sizeof(char)); void main() { printf("Input string :\r\n"); scanf("%s",c); подробнее

Показать сообщение отдельно
YurA_280784
Заблокирован
28.01.2009, 15:17     Заменить в строках первое слово на другое
Немножко разобравшись подправил код, правда использую сканф, эта функция чувствительна к разным табуляторам, но я думаю доработать см ввод легко.
Вобщем кида скриншот работы, экзешку, ну и сам код...
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include <windows.h>
#include <stdio.h>
#include <conio.h>
 
int flag    = 0;
int flag1   = 0;
int flag2   = 0;
int flag3   = 0;
 
void p1();
void p2();
void p3();
void p4();
void p5();
 
void zamena(char * str, char * sFnd, char * sRpl);
 
void CleanScreen();
 
char str[1024];
char sFnd[30];
char sRpl[30];
 
void main()
{   
    CleanScreen();
 
    if(flag == 1)
        printf("Ishodnaya stroka vvedena :%s\r\n",str);
    if(flag1 == 1)
        printf("Stroka poiska vvedena    :%s\r\n",sFnd);
    if(flag2 == 1)
        printf("Ishodnaya stroka soderzhit stroky :%s\r\n",sFnd);
    if(flag3 == 1)
        printf("Stroka zameni vvedena    :%s\r\n",sRpl);
 
    printf("\tViberite punkt menu :\r\n");
    printf("1-Vvod i vivod ishodnogo teksta\r\n");
    printf("2-vvod slova poisk\r\n");
    printf("3-poisk slova v tekste\r\n");
    printf("4-vvod slova zamena\r\n");
    printf("5-zamena slova v tekste\r\n");
    printf("dlya vihoda vvedite luboi simvol krome 1 - 5\r\n");
    char chKey = getch();
    bool Ret = true;
    switch(chKey)
    {
        case '1':p1();break;
        case '2':p2();break;
        case '3':p3();break;
        case '4':p4();break;
        case '5':p5();break;
        default:
            Ret = false;
            printf("Vihod iz programmi\r\n");
            break;
    }
    if(Ret)
        main();
}
 
void p1()
{
    printf("Vvedite ishodnuy stroky\r\n");
    scanf("%s",&str);
    if(strlen(str))
        flag = 1;
    else
        printf("Stroka imeet 0 dliny ili ne vvedena\r\n");
}
 
void p2()
{
    if(flag == 1)
    {
        printf("Vvedite stroky poiska\r\n");
    scanf("%s",&sFnd);
    if(strlen(sFnd))
        flag1 = 1;
    else
        printf("Stroka poiska imeet 0 dliny ili ne vvedena\r\n");
    }
}
 
void p3()
{
    if(flag == 1)
    {
        printf("Poisk stroki %s v ishodnoi stroke\r\n",sFnd);
        if(strstr(str,sFnd))
            flag2 = 1;
        else
            printf("Stroka ne soderzhit stroki %s\r\n",sFnd);
    }
}
 
void p4()
{
    if(flag2 == 1)
    {
        printf("Vvedite stroky zameni\r\n");
        scanf("%s",&sRpl);
        if(strlen(sFnd))
            flag3 = 1;
        else
            printf("Stroka zameni imeet 0 dliny ili ne vvedena\r\n");
    }
}
 
void p5()
{
    if(flag3 == 1)
    {
        while(strstr(str,sFnd))
            zamena(str, sFnd, sRpl);
        printf("Stroka posle zameni :\r\n%s\r\n",str);
        printf("Vvedite luboi simvol dlya prodolzheniya\r\n");
        getch();
        flag    = 0;
        flag1   = 0;
        flag2   = 0;
        flag3   = 0;
    }
}
 
void zamena(char * str, char * sFnd, char * sRpl)
{
    char * chRight;
    char * chBuf = strstr(str,sFnd);
    if(chBuf)
    {
        for(int i = 0; i < strlen(sFnd); i++)
            chBuf++;
        chRight = (char *)malloc(strlen(chBuf) + 1);
        sprintf(chRight,"~%s",chBuf);
        chRight++;
        str[strlen(str) - strlen(chBuf) - strlen(sFnd)] = '\0';
        str = strcat(str,sRpl);
        str = strcat(str,chRight);
    }
}
 
void CleanScreen()
{
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO SCRN_INFO;
    GetConsoleScreenBufferInfo(hOutput, &SCRN_INFO);
    
    COORD POS;
    POS.X = 0;
    POS.Y = 0;
    FillConsoleOutputCharacter(hOutput, ' ',
    SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y, POS, NULL);
    FillConsoleOutputAttribute(hOutput, 
        FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE /*цвет*/, 
        SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y,POS,NULL);
 
    SetConsoleTextAttribute(hOutput,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    SetConsoleCursorPosition(hOutput,POS);
}
Миниатюры
Заменить в строках первое слово на другое  
Вложения
Тип файла: rar zamena.exe.rar (15.5 Кб, 19 просмотров)
Тип файла: rar zamena.cpp.rar (1.1 Кб, 20 просмотров)
 
Текущее время: 15:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru