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

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++

Восстановить пароль Регистрация
 
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
18.03.2010, 19:10     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #1
плиииз...(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2010, 19:10     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки
Посмотрите здесь:

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки C++
C++ Написать функцию, которая удаляет из строки s1 все символы, встречающиеся в строке s2
Рекурсивная функция, не возвращающая значение C++
Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн C++
C++ Описать функцию, которая удаляет из строки все лишние пробелы
C++ Функция удаляет из строки заданное количество символов, начиная с заданной позиции
Функция, которая удаляет начальные и конечные пробелы из строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
18.03.2010, 22:15     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #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<string.h>
#include<conio.h>
 
void  func (char* mas,int i){
 
    if(i<strlen(mas))
    {
         if(mas[i]=='.')
        mas[i]=' ';
     i++;
     func(mas,i);
    }
}
 
int main(void)
{
  clrscr();
char mas[256];
 
  gets(mas);
   func(mas,0);
     puts(mas);
 return 0;
}
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
18.03.2010, 22:21  [ТС]     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #3
а если его замутить на С++ ???
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
18.03.2010, 22:36     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream.h>
#include<string.h>
 
void  func (char* mas,int i){
 
    if(i<strlen(mas))
    {
             if(mas[i]=='.')
                mas[i]=' ';
     i++;
     func(mas,i);
    }
}
 
int main(void)
{
char mas[256];
 
  cin>>mas;
   func(mas,0);
     cout<<mas;
 return 0;
}
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
18.03.2010, 23:01  [ТС]     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #5
о да....спасибо огроменное =))))) вы супер
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
18.03.2010, 23:39     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #6
лендер, каждый раз вызывается strlen - очень неэкономно. Да и параметр лишний здесь ни к чему.
C++
1
2
3
4
5
6
7
8
9
void RemoveDots(char* str) {
  if (*str == '\0')
    return;
 
  if (*str == '.')
    *str = ' ';
 
  RemoveDots(str + 1);
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
19.03.2010, 00:06     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #7
Цитата Сообщение от =GHOST= Посмотреть сообщение
а если его замутить на С++ ???
В С++ всё уже замучено:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
int main(){
    std::string str("Abc.def.gh.");
    
    std::cout << "Befor: \"" << str << "\"" << std::endl;
    
    size_t pos;
    while ( ( pos = str.find('.') ) != std::string::npos )
        str.erase(pos, 1);
    
    std::cout << "After: \"" << str << "\"" << std::endl;
    
    return 0;
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.03.2010, 00:30     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #8
В продолжении поста easybudda, если все таки предполагается замена точки на пробел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <cstring>
 
int main()
{
  char str[] = ".sd123.d...edr334.";
 
  std::cout << "Source string: " << str << std::endl;
  
  std::replace(str, str + std::strlen(str), '.', ' ');
 
  std::cout << "Transformed string: " << str << std::endl;
 
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2010, 21:03     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки
Еще ссылки по теме:

Функция которая удаляет начальные и конечные пробелы из строки, полученной в качестве аргумента C++
C++ Рекурсивная функция: все возможные перестановки символов строки
C++ Рекурсивная функция, возвращающая указатель на объект
Составить программу, которая удаляет из строки все повторно встречающиеся символы C++

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

Или воспользуйтесь поиском по форуму:
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
19.03.2010, 21:03  [ТС]     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки #9
о всё... =) благодарю =)
Yandex
Объявления
19.03.2010, 21:03     Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки
Ответ Создать тему
Опции темы

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