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

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

Восстановить пароль Регистрация
 
тая
 Аватар для тая
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 13
06.11.2011, 01:31     Преобразовать строку , заменив все сочетания “авс” на ”ghn” #1
Постановка задачи:
Задать символьную строку, состоящую из слов. Слова разделены группой пробелов.
Выполнить обработку по варианту. Исходную строку и результат вывести на экран. Исходную строку символов ввести с экрана.

Преобразовать строку , заменив все сочетания “авс” на ”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;
}
я первое вхождение нашла, а как заменить я не знаю, помогите пожалуйстаа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 01:31     Преобразовать строку , заменив все сочетания “авс” на ”ghn”
Посмотрите здесь:

C++ Преобразовать строку, заменив все вхождения одного слова на другое
Преобразовать строку, заменив в ней первый символ на второй. C++
C++ Дана строка. Преобразовать ее, заменив точками все двоеточия
C++ Преобразовать строку, заменив точками все двоеточия, встречающиеся среди первых n/2 символов, и заменив точками все восклицательные знаки...
C++ Преобразовать массив, заменив все положительные элементы единицами...
Преобразовать последовательность, заменив запятыми все двоеточия C++
C++ Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc».
C++ Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc»
C++ Строки. Преобразовать строку, заменив в ней все восклицательные знаки точками
C++ Из заданной строки получить новую, заменив в ней все сочетания «abcd» на «abc»
Преобразовать строку, заменив все двоеточия точками, все восклицательные знаки - вопросительными C++
C++ Преобразовать данную строку заменив каждую точку многоточием

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
06.11.2011, 09:28     Преобразовать строку , заменив все сочетания “авс” на ”ghn” #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);
}
тая
 Аватар для тая
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 13
06.11.2011, 22:32  [ТС]     Преобразовать строку , заменив все сочетания “авс” на ”ghn” #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;
} надо через функцию
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
07.11.2011, 08:14     Преобразовать строку , заменив все сочетания “авс” на ”ghn” #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
Регистрация: 06.11.2011
Сообщений: 13
08.11.2011, 04:59  [ТС]     Преобразовать строку , заменив все сочетания “авс” на ”ghn” #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 минут
не поняла
Yandex
Объявления
08.11.2011, 04:59     Преобразовать строку , заменив все сочетания “авс” на ”ghn”
Ответ Создать тему
Опции темы

Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru