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

В строке заменить все запятые на точки, подсчитать количество замен - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать шаблон класса http://www.cyberforum.ru/cpp-beginners/thread1015155.html
Общая постановка. Дано: число N и последовательность a1, a2, … aN Создать шаблон класса, порождающего динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные и т.д.). Тип данных и результат являются параметрами по отношению к классу. программа должна иметь методы инициализации, конструктор, деструктор, просмотра значений созданного массива, а также...
C++ Произведение квадратов компонент класса Создать в производном классе метод Run, определяющий: Произведение квадратов компонент класса http://www.cyberforum.ru/cpp-beginners/thread1015154.html
C++ Создать на форме чат, форум и интернет магазин
Задали создать, чат, форум и интернет магазин(. отдельные программы), на форме, с кнопочками, надписями местами для ввода данных, и для всего надо прописать действия. И как то оформить, что бы был не просто серый фон(не стандартный). Помогите пожалуйста сделать, ну или объясните.. пожалуйста очень надо, зачет горит((((
В матрице найти суму элементов в каждом столбце C++
В матрице найти суму элементов в каждом столбце. Результат записать в одноименный массив. Вывести начальную матрицу и полученный массив. Отредактируйте код #include <conio.h> #include <iostream> using namespace std; int **in(int **m, int s, int r) { for( int i=0; i<s; i++)
C++ Разработать программу, которая формирует случайным образом вещественную матрицу размером n x m http://www.cyberforum.ru/cpp-beginners/thread1015134.html
Помогите пожалуйста!!! С++Builder. Разработать программу, которая формирует случайным образом вещественную матрицу размером n x m (n, m вводятся с клавиатуры), записывает ее в файл (имя файла вводится с клавиатуры), читает указанный файл и выводит его содержимое на экран.
C++ Округление значений в двумерной динамической матрице Как сделать так, чтобы при делении, вычитании и прочих действий между значениями двумерной матрицы - все они округлялись до 0.001? У меня почему-то вышла такая вещь, что при умножении 4*0,8 и всё это отнять от четверки - выходит -596046e-008 - как я понимаю - это ничтожно малое число, которое при округлении даст 0? Вот код программки: #include<iostream> #include<cmath> using namespace std;... подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1785 / 1160 / 225
Регистрация: 16.05.2013
Сообщений: 3,056
Записей в блоге: 5
Завершенные тесты: 1
22.11.2013, 10:06     В строке заменить все запятые на точки, подсчитать количество замен
Цитата Сообщение от gray_fox Посмотреть сообщение
как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
 
 
int main() {
   std::string string = ",.What, ., da,. heEAc,..,.k!?,";
 
   auto const commaCount = std::count(std::begin(string), std::end(string), ',');
   std::replace(std::begin(string), std::end(string), ',', '.');
 
   std::cout << string << std::endl;
   std::cout << commaCount << " comma(s) replaced with period(s)" << std::endl;
}
Компилится не будет, хотя бы потому что итераторы это методы строки.
В данном случае лучше использовать алгоритм for_each и воспользовоться тем фактом, что он возвращает свой функтор.
Кликните здесь для просмотра всего текста
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
#include<iostream>
#include<string>
#include<algorithm>
typedef std::string::size_type strSize;
class Counter {
    strSize count;
public:
    Counter(): count(0)
    {}
    void operator() (char& ch) {
        if (ch == ',') {
            ch = '.';
            ++count;
        }
    }
    strSize GetCount() {
        return count;
    }
};
int main()
{
    system("chcp 1251>0");
    std::string str("жил, был, еж, ");
    std::copy(str.begin(), str.end(), std::ostream_iterator<char>(std::cout));
    std::cout << std::endl;
 
    Counter result = std::for_each(str.begin(), str.end(), Counter());
    
    std::cout << "Количество замен:" << result.GetCount() << std::endl;
    std::copy(str.begin(), str.end(), std::ostream_iterator<char>(std::cout));
    std::cout << std::endl;
 
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru