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

Изменение одной буквы на другое количество - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Jinchuu
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
08.09.2010, 21:30     Изменение одной буквы на другое количество #1
задали написать программу которая заменяет одну букву на другую но одну
это я написал
но хочется сделать так чтобы одна буква заменялась на 2,3 и более (потипа
Изменение одной буквы на другое количество
)
Помогите пожалуйста воплотить эту задумку в жизнь
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2010, 21:30     Изменение одной буквы на другое количество
Посмотрите здесь:

C++ Распечатать количество вхождений заданного слова в каждую строку и заменить его на другое заданное слово
Функция изменение 2-ой буквы на прописную. C++
Коды символов одной и той же буквы различаются. [help] C++
C++ С экрана вводятся любые буквы. Подсчитать и вывести на печать количество вводов буквы А
Сделать маленькими все буквы в тех словах, в которых нет ни одной буквы, встречающейся в последнем слове строки. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
08.09.2010, 22:01     Изменение одной буквы на другое количество #2
Jinchuu,
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
45
46
47
48
49
#include <iostream>
using std::cout;
#include <fstream>
using std::ifstream;
#define N 25
struct trsl{
    char c,s[4];
};
int main(){
    ifstream ifst;
    char *s,*res;
    int i,j,n;
    trsl *a;
 
    ifst.open("in.txt");
 
/* in.txt:
3
r F e
shi lu ku
*/
 
    s=new char[N];
    res=new char[N*3];
    strcpy(s,"rrrFer");
 
    ifst>>n;
    a=new trsl[n];
    for(i=0;i<n;i++)
        ifst>>a[i].c;
    for(i=0;i<n;i++)
        ifst>>a[i].s;
 
    strcpy(res,"");
    for(i=0;s[i];i++){
        for(j=0;j<n;j++)
            if(s[i]==a[j].c)
                break;
        if(j==n)
            strncat(&res[strlen(res)],&s[i],1);
        else
            strcat(&res[strlen(res)],a[j].s);
    }
 
    cout<<res<<"\n";
    system("pause");
 
    return 0;
}
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.09.2010, 00:22     Изменение одной буквы на другое количество #3
Мое знание С++ еще очень скудное, но я кое-что состряпал. Моя версия более понятна новичку как и я сам.

Вводишь заглавные латинские буквы(не больше 10 из массива English[]) и нажимаешь Enter.
Сам дополнишь массивы English[] и Jup[]
Надеюсь был полезен.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
09.09.2010, 00:24     Изменение одной буквы на другое количество #4
Цитата Сообщение от NikolaWhite Посмотреть сообщение
но я кое-что состряпал. Моя версия более понятна новичку как и я сам.
А где Ваша версия то?
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.09.2010, 00:30     Изменение одной буквы на другое количество #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
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
void WriteName();
 
char English[10] = {'A','B','C','D','E','F','G','H','I','J'};
    string Jup[10] = {"ka","zu","mi","te","ku","lu","ji","ri","ki","zu"};
    char Arr[10];
    int count = 0;
 
int main()
{
    while(count < 10)
    {
    char Letter = _getch(); 
    Arr[count] = Letter;
    cout << Letter ;
    count++;
    int key = static_cast<int> (Letter); // Если нажато Enter
    if(key == 13)
    {
        count--;
        WriteName();
    } // end if
    } // end while
}
 
void WriteName()
{
    cout << "\n" ;
    for(int i = 0;i < 10;i++)
    {
        for(int j = 0;j < 10;j++)
        {
        if(Arr[i] == English[j])
            cout << Jup[j];
        }
    }
}
ForEveR
09.09.2010, 00:32
  #6

Не по теме:

Омг... Столько глобальных переменных...

alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
10.09.2010, 05:34     Изменение одной буквы на другое количество #7
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Мое знание С++ еще очень скудное, но я кое-что состряпал. Моя версия более понятна новичку как и я сам.
Безусловно, твоя версия более корявая. Но было бы глупо предположить, что чем корявее код, тем он более понятен для новичка.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
10.09.2010, 16:19     Изменение одной буквы на другое количество #8
Безусловно, твоя версия более корявая. Но было бы глупо предположить, что чем корявее код, тем он более понятен для новичка.
Чего корявого то? Любой согласится что чем проще и короче код тем лучше.
Позволь тебе напомнить что это раздел для начинающих, сам наверное когда-то был таким....
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.09.2010, 17:21     Изменение одной буквы на другое количество #9
NikolaWhite, Глобальные переменные как минимум. Свидетельствует о плохом продумывании кода. Совет: не пользуйтесь глобальными переменными (где не нужно, а лучше вообще).
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
10.09.2010, 18:34     Изменение одной буквы на другое количество #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Чего столько мучится?
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
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
string jap[26]={"ka","zu","mi","te","ku","lu","ji","ri","ki","zu","me","ta","rin","to","mo","no","ke","shi","ari","chi","do","ru","mei","na","fu","z"};
int main()
{
    string s;
    getline(cin,s);
    int i=0;
    int t;
    string s1;
    while(s[i])
    {
        t=s[i];
        if(islower(s[i]))
            t-=97;
        else
            t-=65;
 
        s1+=jap[t];
        i++;
    }
    cout<<s1;
    getch();
    return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
10.09.2010, 18:36     Изменение одной буквы на другое количество #11
Цитата Сообщение от nikkka Посмотреть сообщение
t-=97;
Цитата Сообщение от nikkka Посмотреть сообщение
t-=65;
tolower, toupper уже не в моде?
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
10.09.2010, 18:39     Изменение одной буквы на другое количество #12
fasked, забыл
Jinchuu
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
11.09.2010, 19:39  [ТС]     Изменение одной буквы на другое количество #13
nikka огромнейшее тебе спасибо
теперь буду думать как причесать

Добавлено через 6 часов 45 минут
а как сделать чтобы 2 и более слов так конвертировал
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
11.09.2010, 19:48     Изменение одной буквы на другое количество #14
Цитата Сообщение от Jinchuu Посмотреть сообщение
а как сделать чтобы 2 и более слов так конвертировал
чегой?
не понял...
Jinchuu
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
11.09.2010, 19:58  [ТС]     Изменение одной буквы на другое количество #15
ну вводишь несколько слов а он преобразует их с учетом этого правила
чтоб не каждый раз для одного слова запускать а чтоб паком или нельзя так
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
11.09.2010, 20:09     Изменение одной буквы на другое количество #16
Цитата Сообщение от Jinchuu Посмотреть сообщение
чтоб паком или нельзя так
можно. сейчас будет

Добавлено через 1 минуту
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 <conio.h>
using namespace std;
string jap[26]={"ka","zu","mi","te","ku","lu","ji","ri","ki","zu","me","ta","rin","to","mo","no","ke","shi","ari","chi","do","ru","mei","na","fu","z"};
int main()
{
    string s;
    getline(cin,s);
    int i=0;
    int t;
    string s1;
    while(s[i])
    {
        if(s[i]==' ')
        {
            s1+=" ";
            goto exit;
        }
        t=s[i];
        if(islower(s[i]))
            t-=97;
        else
            t-=65;
 
        s1+=jap[t];
        exit:
        i++;
    }
    cout<<s1;
    getch();
    return 0;
}
Добавлено через 6 минут
работает?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2010, 22:24     Изменение одной буквы на другое количество
Еще ссылки по теме:

C++ Замена одной буквы на две
C++ Посчитать количество всех букв и количество вхождений каждой буквы
C++ Функция подсчета слов, состоящих из одной буквы

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

Или воспользуйтесь поиском по форуму:
Jinchuu
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
03.10.2010, 22:24  [ТС]     Изменение одной буквы на другое количество #17
да, работает
спасибо огромное
я еще и с циферками сделал
Yandex
Объявления
03.10.2010, 22:24     Изменение одной буквы на другое количество
Ответ Создать тему
Опции темы

Текущее время: 20:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru