С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
тая
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 13
#1

Преобразовать строку , заменив все сочетания “авс” на ”ghn” - C++

06.11.2011, 01:31. Просмотров 547. Ответов 4
Метки нет (Все метки)

Постановка задачи:
Задать символьную строку, состоящую из слов. Слова разделены группой пробелов.
Выполнить обработку по варианту. Исходную строку и результат вывести на экран. Исходную строку символов ввести с экрана.

Преобразовать строку , заменив все сочетания “авс” на ”ghn”

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
#include<iostream.h>
#include<conio.h>
char fun_str( int i)
{
char result[20];
return result;
}
 
int main (void)
{
char s1,s2;
cout<<"stroka1=";
cin>> dgdhabcjfjfjfabc;
cout<<"stroka2=";
cin>>abc;
 }
{  char *string1="dgdhabcjfjfjfabc";
char *string2="abc";
char *string3="ghn";
int*ptr;
ptr=strprk(srting1,string2);
if(ptr)
printf("percij symbol:%c\n",ptr);
else
printf("sumbol ne znaideno\n");
}
for(int j = 0; j <= strlen(string2); j++)
{
    for (int i=0; i<=strlen(string1); i++)
    {
           /*   result=s," ");
        if(s=='abc')
        s='ghn';*/
        if(string1[i] == string2[j])
            string1[i] = string3[j];
    }
}
printf("%s", string1);
getch();
return 0;
}
я первое вхождение нашла, а как заменить я не знаю, помогите пожалуйстаа
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 01:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать строку , заменив все сочетания “авс” на ”ghn” (C++):

Преобразовать строку, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки... - C++
14.24. Дана строка. Преобразовать ее, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все...

Преобразовать строку, заменив все двоеточия точками, все восклицательные знаки - вопросительными - C++
Дана строка из n символов.Преобразовать ее, заменив все двоеточия (:) точками, все восклицательные знаки - вопросительными.

Преобразовать строку, заменив все вхождения одного слова на другое - C++
помогите пожалуйста исправить задачку нужно преобразовать строку, заменив все слова ” государство”(в проге gos) на слово ...

Строки. Преобразовать строку, заменив в ней все восклицательные знаки точками - C++
Сделал на паскале незнаю как сделать на С++ помогите. Дана строка символов преобразовать строку заменив в ней все восклицательные знаки...

Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc» - C++
Помогите с задачей, кто знает, как сделать проверку? Т.е. чтобы при вводе цифр, пробелов или пустой строки выводилось сообщение об этом и...

Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc» - C++
Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc».

4
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
06.11.2011, 09:28 #2
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define SIZE 256
 
int main(void)
{
    char buf[SIZE];
    char* pch;
        
    fputs("Input line: ", stdout);
    fgets(buf, SIZE, stdin);
 
    printf("Got: %s", buf);
    
    pch = buf;
    
    for(pch = strstr(pch, "abc"); pch != NULL; pch = strstr(pch + 3, "abc"))
    strncpy(pch, "ghn", 3);
 
    printf("After the replacing: %s", buf);
    
    exit(0);
}
1
тая
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 13
06.11.2011, 22:32  [ТС] #3
спасибо большоее..но когда я переделываю на с++ ошибка и не хочет работать=((

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
#include <stdio.h>
#include <string.h>
#include<iostream.h>
 
char fun
{
char result[200];
 return;
}
int main(void)
{
    char str;
    char* pch;
 
    cout<<"vvedie line: "<<"\n stroka:  ";
    cin>>str;
 
 
    printf("vvuvod zamenu: %s",str);
 
 
    pch = str;
 
    for(pch = strstr(pch, "abc"); pch != NULL; pch = strstr(pch + 3, "abc"))
    strncpy(pch, "ghn", 3);
 
  printf "ne bulo vvedeno abc: %s", str);
 return 0;
    }
 Комментарий модератора 
Используйте теги форматирования кода!


тут char fun
{
char result[200];
return;
} надо через функцию
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
07.11.2011, 08:14 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
 
void  str_replace(string& str, const char* sub, const char* rep) {
   string::size_type pos = 0;
   while((pos = str.find(sub, pos)) != string::npos) 
        str.replace(pos, strlen(sub), rep);
}
 
int main(void) {
  string str = "dgdhabcjfjfjfabc";
 // cin >> str;
  str_replace(str, "abc", "ghn");
  cout << str << endl;
  
  cin.get();
  return 0;
}
0
тая
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 13
08.11.2011, 04:59  [ТС] #5
та там оно не работает, вот правельный код...мне помогли=)
кому надо-пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void func(char s[])
{
int i,n,j;
  
   n=strlen(s);
    for (j=0;j<n-2;j++)
   { if ((s[j]=='a') && (s[j+1]=='b') && (s[j+2]=='c') )
 { s[j]='g' ;
  s[j+1]='h';
  s[j+2]='n'; }
   }
}
    int main(int argc, char* argv[])
     {char s1[255], s2[255];
     cout<<"vvedite stroku\n";
     cin.getline(s1,255);
     cout<<"isxodnaja stroka: ";
     printf("%s\n", s1);  func(s1);
     cout<<"\nreasult stroka  : ";
     printf("%s\n", s1);
     getch();
     return 0;  }
 Комментарий модератора 
Следующий код без тега - и будет карточка.


Добавлено через 7 часов 27 минут
не поняла
0
08.11.2011, 04:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2011, 04:59
Привет! Вот еще темы с ответами:

Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc». - C++
помогите пожалуйста с задачей! Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc».

Преобразовать данную строку заменив каждую точку многоточием - C++
1.Даны натуральное число n и символы S1, …, Sn (строка). Преобразовать данную строку, заменив в ней каждую точку многоточием (т.е. тремя...

Преобразовать строку, заменив в ней первый символ на второй. - C++
Ребят, помогите с задачкой, пожалуйста. Желательно для Borland C++ Builder 6.0. Вводится строка произвольного текста и два...

Преобразовать последовательность, заменив запятыми все двоеточия - C++
Доброго времени суток. Условие задачи: _________________________________________________________________ Даны натуральное число п,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.