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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
18.01.2011, 16:15     Заменить символы в строках... #2
Чем помочь, что написано, что не работает?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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;
}
igorrr37
1644 / 1272 / 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;
 
}
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 12:15     Заменить символы в строках...
Еще ссылки по теме:

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

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

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

Заменить символы в строке. - C++
Задача: Прочитать из файла строку символов. В данной строке каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом,...


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

Или воспользуйтесь поиском по форуму:
igorrr37
1644 / 1272 / 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;
}
Yandex
Объявления
19.01.2011, 12:15     Заменить символы в строках...
Ответ Создать тему
Опции темы

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