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

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

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

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

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

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

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

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

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

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

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

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

2
zitxbit
89 / 741 / 75
Регистрация: 11.04.2012
Сообщений: 971
02.05.2012, 15:05 #2
Дело в том, что если длина строки f >= t, то она никогда не будет подстрокой t.
Уточните задание, плиз.
0
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 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;
}
Вывод.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2012, 16:09
Привет! Вот еще темы с ответами:

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

Написать функцию сортировки выбором для заданного массива - C++
Задается массив из n точек на плоскости .Написать функцию сортировки выбором для заданного массива( сортировка массива точек по...

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

Написать функцию Quick Sort для массива с 2000 элементов - C++
Написать функцию Quick Sort. Использовать написанную функцию для сортировки массива типа double на 2000 элементов. Нужна помощь:-|


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

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

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