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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Union
17 / 17 / 2
Регистрация: 16.08.2010
Сообщений: 252
#1

Написать функцию replace для массива char'ов - C++

01.05.2012, 21:09. Просмотров 1408. Ответов 2
Метки нет (Все метки)

Нужно написать функцию замены подстроки f на подстроку t в строке а:
C++
1
int replace(char a[], const char f[], const char t[])
f может быть равна или больше t, но не меньше. Нельзя использовать stl.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2012, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию replace для массива char'ов (C++):

Написать функцию, которая переворачивает строку (массива типа char). - C++
Вот задание: Написать функцию reversit(), которая переворачивает строку (массива типа char). Используйте цикл for, которая меняет первый...

Как написать свою функцию std::replace? - C++
В STL есть функция std::replace. Как написать свою? У меня не получается template < typename T, class Container<T> > void...

Нормальная ли практика создавать копию строки (массива char) передаваемую в функцию для дальнейшей работы - C (СИ)
Уважаемые, скажите, нормальная ли практика создавать копию строки(массива char) передаваемую в функцию для дальнейшей работы. Меняя...

Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую - C++
Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s) ) и...

Написать функцию char* whatisyourname() - C (СИ)
Здравствуйте! Есть такое задание: если не сложно, помогите его выполнить! :cry:

Написать функцию для обработки одномерного массива - C++
Написать функцию для обработки одномерного массива: нахождение количества вхождений, заданного пользователем числа в массив целых...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.05.2012, 15:05 #2
Дело в том, что если длина строки f >= t, то она никогда не будет подстрокой t.
Уточните задание, плиз.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
02.05.2012, 16:09 #3
При чем тут будет подстрокой t? По простому - вырезаем определенный кусок текста и записываем на его место другой.

Добавлено через 57 минут
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
#include <iostream>
#include <cstring>
 
char *replace( char *str, const char *f, const char *t ) {
   char *tmpPtr = strstr( str, f );
   
   if ( tmpPtr != 0 && strlen( f ) >= strlen( t )) {
      std::size_t sizeDiff = strlen( f ) - strlen( t );
      
      strncpy( tmpPtr, t, strlen( t ));
      
      if ( sizeDiff > 0 )
         for ( tmpPtr += strlen( t ); *tmpPtr != '\0'; tmpPtr++ )
            *tmpPtr = *( tmpPtr + sizeDiff );
      
   } else
      return 0;
   
   return str;
}
 
int main( ) {
   char str[] = "happy blah year";
   
   std::cout << str << std::endl;
   
   replace( str, "blah", "new" );
   
   std::cout << str << std::endl;
   
   return 0;
}
Вывод.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2012, 16:09
Привет! Вот еще темы с ответами:

Написать функцию для записи в файл массива структур - C++
Помогите найти ошибку...выходит: undefined reference to `WinMain@16'| #include &quot;fstream&quot; #include &quot;iostream&quot; using namespace std; ...

Написать функцию sort() для сортировки массива структур - C++
Напишите пожалуйста программу по заданию,не могу понять как делать. Условие программы: Напишите функцию sort() для сортировки...

Написать функцию для удаления строки из двумерного массива - C++
. Написать функцию для удаления строки из двумерного массива. Оставшиеся строки должны быть расположены плотно, недостающие элементы...

Написать функцию для обмена строк двумерного массива - C#
Написать функцию для обмена строк двумерного массива с ее помощью отсортировать массив по элементам третьего столбца. помогите с этой...


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

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

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