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

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

Войти
Регистрация
Восстановить пароль
 
nimso_3d
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 2
#1

Написать функцию, которая удаляет все лишние пробелы - C++

02.05.2013, 18:18. Просмотров 606. Ответов 5
Метки нет (Все метки)

Доброго дня суток.
Помогите пожалуйста..
Нужно написать функцию, которая удаляет все лишние пробелы, т. е. из нескольких подряд идущих пробелов оставить только один.


А также есть такой код:

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
42
43
44
#include "stdafx.h"
 
#include <cmath>
 
#include <iostream>
 
using namespace std;
 
 
 
#define SIZE 13
 
int main()
{
   int a[SIZE];
   int i = 0, j = 0;
 
   for(i = 0; i < SIZE; ++i)
      a[i] = rand() % 9;
 
   for(i = 0; i < SIZE; ++i)
      printf("%d ", a[i]);
   printf("\n");
 
   int max = 0, cur_max = 0, nmax = a[0];
   for(i = 0; i < SIZE; ++i)
   {
      if(cur_max > max)
      {
         nmax = a[i-1];
         max = cur_max;
      }
 
      cur_max = 0;
      for(j = i; j < SIZE; ++j)
         if(a[i] == a[j])
            ++cur_max;
   }
 
   printf("n = %d, in = %d\n", nmax, max);
 
   system("pause");
   return 0;
}
Необходимо переделать его с использованием указателей.

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

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

Напишите функцию, которая убирает все лишние пробелы и табуляции в строке - C++
Напишите пожалуйста функцию, которая убирает все лишние пробелы и табуляции в строке. Добавлено через 23 часа 10 минут upp

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.05.2013, 18:45 #2
nimso_3d, а каким образом связано задание про пробелы с приведенным кодом? Если это два разных задания, то надо бы разбить на 2 разные темы.
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
02.05.2013, 19:29 #3
Регулярные выражения, поиск и замена:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <boost/regex.hpp>
 
std::string erase_spaces(const std::string& s)
{
    boost::regex reg("\\s{2,}");
    return std::string(boost::regex_replace(s, reg, " "));
}
 
int main()
{
    std::cout<<erase_spaces("Some   text            text  other      text  ")<<"\n";
    std::cout<<erase_spaces("Another                text")<<"\n";
    
    std::cout<<"\n";
    return 0;
}
1
nimso_3d
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 2
02.05.2013, 19:51  [ТС] #4
Цитата Сообщение от Tulosba Посмотреть сообщение
nimso_3d, а каким образом связано задание про пробелы с приведенным кодом? Если это два разных задания, то надо бы разбить на 2 разные темы.
Да, тут да разных задания. Впервые на форуме, впреть учту...


yuron_477
Спасибо огромное за помощь
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
02.05.2013, 20:25 #5
http://cplusplus.com/reference/algorithm/unique/
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <algorithm>
#include <iostream>
 
int main()
{
    std::string str;
    std::cout << "input string: ";
    std::getline(std::cin, str);
 
    auto last = std::unique(str.begin(), str.end(),
                    [](char a, char b) { return a == ' ' && b == ' '; });
    str.erase(last, str.end());
 
    std::cout << str << '\n';
}
2
Croessmah
Эксперт CЭксперт С++
13214 / 7485 / 842
Регистрация: 27.09.2012
Сообщений: 18,402
Записей в блоге: 3
Завершенные тесты: 1
03.05.2013, 02:46 #6
Как вариант:
C++
1
2
3
4
5
6
7
8
void Trim_SD(char * dest, char * source){
    for(char *p1=source,*p2=dest; (*p2=*p1);++p1,++p2){
        if(*p1!=' ') continue;
        for(;*p1==' ';++p1);
            p2+=(p2==dest || !(*p1))?0:1;
            *p2=*p1;
    }
}
так же удаляет лишние пробелы в начале и в конце строки.
dest и source могут указывать на одну и ту же память
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2013, 02:46
Привет! Вот еще темы с ответами:

Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину каждого слова - C++
Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину (число символов) каждого слова. Длина...

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

Функция: Написать и протестировать функцию, которая "сжимает" строку, удаляя из неё все пробелы. - C++
Тема &quot;Нестандартные функции&quot; Написать и протестировать функцию, которая &quot;сжимает&quot; строку, удаляя из неё все пробелы. Символьная строка...

Написать и протестировать функцию compress(), которая "сжимает" строку, удаляя из нее все пробелы. - C++
Добрый вечер))не могли бы вы мне помочь с задачками,они в принципе лёгкие ,мы только начали изучать Си++ ,но я уже не понимаю,если не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2013, 02:46
Ответ Создать тему
Опции темы

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