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

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

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

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

18.03.2010, 19:10. Просмотров 974. Ответов 8
Метки нет (Все метки)

плиииз...(((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2010, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки (C++):

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++
вот код...есть ещё вариант с массивом, но он тоже не работает =( тем более препод сказал, что через массив делать не стоит...=( #include...

Рекурсивная функция, не возвращающая значение - C++
Разработать рекурсивную функцию для вывода на экран картинки (при натуральном число n): 1 222 33333 ... 33333 222 1 ...

Рекурсивная функция, возвращающая указатель на объект - C++
Есть рекурсивная функция (заполняющая двоичное дерево) Node* fill(int i){ //Возвращаемое значение ????? Node node(lines.key);...

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

Функция удаляет из строки заданное количество символов, начиная с заданной позиции - C++
Подскажите, что не так в программе.? Функция удаляет из строки заданное количество символов, начиная с заданной позиции. (При...

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

8
лендер
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;
}
1
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
18.03.2010, 22:21  [ТС] #3
а если его замутить на С++ ???
0
лендер
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;
}
0
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
18.03.2010, 23:01  [ТС] #5
о да....спасибо огроменное =))))) вы супер
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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);
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9682 / 5632 / 955
Регистрация: 25.07.2009
Сообщений: 10,808
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;
}
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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;
}
2
=GHOST=
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 35
19.03.2010, 21:03  [ТС] #9
о всё... =) благодарю =)
0
19.03.2010, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2010, 21:03
Привет! Вот еще темы с ответами:

Рекурсивная функция: все возможные перестановки символов строки - C++
Дана строка с n элементами. Например abs. Надо выводить все возможные варианты например abs asb bas bsa sab sba. Надо...

Описать функцию, которая удаляет из строки все лишние пробелы - C++
Помогите пожалуйста решить! Заранее благодарен!) Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются...

Составить программу, которая удаляет из строки все повторно встречающиеся символы - C++
Составить программу, которая удаляет из строки все повторно встречающиеся символы. Исходная строка вводится с клавиатуры. C++

Написать функцию, которая удаляет из строки s1 все символы, встречающиеся в строке s2 - C++
Народ, очень требуется помощь : :wall: № 1. Написать и протестировать функцию DELETE(s1, s2), которая удаляет из строки s1 все символы,...


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

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

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