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

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

Войти
Регистрация
Восстановить пароль
 
OffyGhost
7 / 7 / 1
Регистрация: 04.03.2010
Сообщений: 107
#1

Заменить символы в строках... - C++

18.01.2011, 15:20. Просмотров 618. Ответов 5
Метки нет (Все метки)

Заменить наиболее часто встречающийся символ в строке S1, наиболее часто встречающимся символом в строке S2.
Длины строк произвольные, n и m
помогите написать пожалуйста :>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2011, 15:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить символы в строках... (C++):

Заменить символами # символы, стоящие в строках или столбцах, где имеются цифры - C++
Вот задача: Задана символьная матрица Y(K, L), K<=7, L<=9, соcтаящая из латинских букв и цифр. Заменить символами # символы, стоящие в...

Строки. Заменить символы - цифры на символ '*'. В заданной строке заменить подряд идущие пробелы - C++
П.5.16.Правил Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. ...

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

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

Работа с текстовым файлом (записать в файл строки и символы в строках в обратном порядке) - C++
Всем привет. Извиняюсь может повторяюсь с задачей, но все же... Задача: Дан txt файл с парой строк, нужно создать результирующий файл и...

Заменить в строках первое слово на другое - C++
задание такое: задан текст, содержащий произвольное кол-во строк, в которых отдельные слова могут разделяться одним или несколькими...

5
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,198
Завершенные тесты: 1
18.01.2011, 16:15 #2
Чем помочь, что написано, что не работает?
0
ForEveR
В астрале
Эксперт С++
7980 / 4739 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
18.01.2011, 16:25 #3
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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
 
int main()
{
    std::string str1;
    std::string str2;
    std::getline(std::cin, str1);
    std::getline(std::cin, str2);
 
    std::vector<int> str1symb;
    std::vector<int> str2symb;
 
    std::for_each(str1.begin(), str1.end(), [str1, &str1symb](char t)
    {
        str1symb.push_back(std::count(str1.begin(), str1.end(), t));
    });
    std::for_each(str2.begin(), str2.end(), [str2, &str2symb](char t)
    {
        str2symb.push_back(std::count(str2.begin(), str2.end(), t));
    });
 
    char fir=str1[std::distance(str1symb.begin(), std::max_element(str1symb.begin(), str1symb.end()))];
    char sec=str2[std::distance(str2symb.begin(), std::max_element(str2symb.begin(), str2symb.end()))];
 
    std::replace(str1.begin(), str1.end(), fir, sec);
 
    std::cout<<str1<<'\n';
    system("pause");
    return 0;
}
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.01.2011, 16:51 #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
24
25
26
27
28
29
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
 
char f(string& s){
    map<char, int>ma;
    for(int i=0;i<s.size();++i){
        if(s[i]!=' ') ma[s[i]]++;
    }
    auto it=max_element(ma.begin(), ma.end(), [](pair<char, int> p, pair<char, int> p1){
                return p.second<p1.second;
            });
    return it->first;
}
int main(){
    string s1, s2;
    cout<<"input s1\n";
    getline(cin, s1);
    cout<<"\ninput s2\n";
    getline(cin, s2);
    char f1=f(s1);
    char f2=f(s2);
    for(int i=0;i<s1.size();++i){
        if(s1[i]==f1)s1[i]=f2;
    }
    cout<<"\n\n"<<s1;
 
}
3
OffyGhost
7 / 7 / 1
Регистрация: 04.03.2010
Сообщений: 107
19.01.2011, 11:06  [ТС] #5
ооо спасибо

Добавлено через 14 часов 53 минуты
Компиляция на Линуксе через g++
куча ошибок
C
1
2
3
4
5
6
7
3_2.c: In functionchar f(std::string&):
3_2.c:11: error: ISO C++ forbids declaration of ‘it’ with no type
3_2.c:11: error: expected primary-expression before ‘[’ token
3_2.c:11: error: expected primary-expression before ‘]’ token
3_2.c:11: error: expected primary-expression before ‘p’
3_2.c:11: error: expected primary-expression before ‘p1’
3_2.c:14: error: base operand of ‘->’ is not a pointer
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
19.01.2011, 12:15 #6
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
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
 
bool comp(pair<char, int> p, pair<char, int> p1){
    return p.second<p1.second;
}
 
char f(string& s){
    map<char, int>ma;
    for(int i=0;i<s.size();++i){
        if(s[i]!=' ') ma[s[i]]++;
    }
    map<char, int>::iterator it=max_element(ma.begin(), ma.end(), comp);
    return it->first;
}
 
int main(){
    string s1, s2;
    cout<<"input s1\n";
    getline(cin, s1);
    cout<<"\ninput s2\n";
    getline(cin, s2);
    char f1=f(s1);
    char f2=f(s2);
    for(int i=0;i<s1.size();++i){
        if(s1[i]==f1)s1[i]=f2;
    }
    cout<<"\n\n"<<s1;
}
1
19.01.2011, 12:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 12:15
Привет! Вот еще темы с ответами:

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

В четных строках матрицы заменить все отрицательные элементы на ноль - C++
в четных строках матрицы заменить все отрицательные элементы на ноль: исходный массив А 6 строк 4 столбцов преобразование массива А в...

В парных строках матрицы заменить все отрицательные элементы на ноль - C++
помогите пожалуйста с задачей на С++ строки 6 столбцов 4, b = (sqrt (i)-sqrt (j)) / a в парных строках матрицы заменить все...

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


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

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

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