0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
1

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

08.09.2010, 21:30. Показов 1527. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
задали написать программу которая заменяет одну букву на другую но одну
это я написал
но хочется сделать так чтобы одна буква заменялась на 2,3 и более (потипа
Изменение одной буквы на другое количество

)
Помогите пожалуйста воплотить эту задумку в жизнь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2010, 21:30
Ответы с готовыми решениями:

Вычислить количество слов, состоящих из одной буквы, в тексте
Обработка текста Вычислить количество слов в тексте, которые состоят из одной буквы.

Указатели: определить количество столбцов символьной матрицы, не содержащих ни одной буквы 'Q'
Сформировать массив типа char размером в 5х10х7 элементов. Проинициализировать его случайными...

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

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

16
Заблокирован
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;
}
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
09.09.2010, 00:22 3
Мое знание С++ еще очень скудное, но я кое-что состряпал. Моя версия более понятна новичку как и я сам.

Вводишь заглавные латинские буквы(не больше 10 из массива English[]) и нажимаешь Enter.
Сам дополнишь массивы English[] и Jup[]
Надеюсь был полезен.
1
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
09.09.2010, 00:24 4
Цитата Сообщение от NikolaWhite Посмотреть сообщение
но я кое-что состряпал. Моя версия более понятна новичку как и я сам.
А где Ваша версия то?
0
246 / 178 / 47
Регистрация: 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];
        }
    }
}
0
ForEveR
09.09.2010, 00:32
  #6

Не по теме:

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

0
84 / 57 / 8
Регистрация: 07.08.2010
Сообщений: 185
10.09.2010, 05:34 7
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Мое знание С++ еще очень скудное, но я кое-что состряпал. Моя версия более понятна новичку как и я сам.
Безусловно, твоя версия более корявая. Но было бы глупо предположить, что чем корявее код, тем он более понятен для новичка.
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
10.09.2010, 16:19 8
Безусловно, твоя версия более корявая. Но было бы глупо предположить, что чем корявее код, тем он более понятен для новичка.
Чего корявого то? Любой согласится что чем проще и короче код тем лучше.
Позволь тебе напомнить что это раздел для начинающих, сам наверное когда-то был таким....
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.09.2010, 17:21 9
NikolaWhite, Глобальные переменные как минимум. Свидетельствует о плохом продумывании кода. Совет: не пользуйтесь глобальными переменными (где не нужно, а лучше вообще).
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 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;
}
3
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
10.09.2010, 18:36 11
Цитата Сообщение от nikkka Посмотреть сообщение
t-=97;
Цитата Сообщение от nikkka Посмотреть сообщение
t-=65;
tolower, toupper уже не в моде?
1
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
10.09.2010, 18:39 12
fasked, забыл
0
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
11.09.2010, 19:39  [ТС] 13
nikka огромнейшее тебе спасибо
теперь буду думать как причесать

Добавлено через 6 часов 45 минут
а как сделать чтобы 2 и более слов так конвертировал
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
11.09.2010, 19:48 14
Цитата Сообщение от Jinchuu Посмотреть сообщение
а как сделать чтобы 2 и более слов так конвертировал
чегой?
не понял...
0
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
11.09.2010, 19:58  [ТС] 15
ну вводишь несколько слов а он преобразует их с учетом этого правила
чтоб не каждый раз для одного слова запускать а чтоб паком или нельзя так
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 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 минут
работает?
0
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 4
03.10.2010, 22:24  [ТС] 17
да, работает
спасибо огромное
я еще и с циферками сделал
0
03.10.2010, 22:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2010, 22:24
Помогаю со студенческими работами здесь

Вычислить количество слов, начинающей с одной буквы и заканчивающейся с той же буквой
Помогите составить прогу! дана строка слов разделенная с одним или несколькими пробелами....

В заданной строке подсчитать количество слов, состоящих только из одной буквы
4)В заданной строке подсчитать количество слов, состоящих только из одной буквы.

Дана строка символов. Определить количество слов, которые состоят из одной буквы.
Дана строка символов. Определить количество слов, которые состоят из одной буквы.

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru