Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.05.2011
Сообщений: 3
1

Обработка символьной информации

28.05.2011, 15:31. Просмотров 1165. Ответов 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
30
31
32
33
34
35
#include "iostream"
#include "string"
#include "conio.h"
using namespace std;
int main()
{
    char* s1 = "eertyre";;// задаем первоначальную строку
    char* s2;// задаем строку, в которой будут входить лишь те буквы,  которые входят в строку s1 не менее 3х раз
    int b=s1[7];//dlina vvedenou ctroki
    int p=0;// c4et4ik cumBoloB B cTRoke s2
    for(int i=0; i<b-2; i++)
    { 
        for(int j=1;j<b-1;j++)
        {
            for( int k=2;k<b;k++)
            if((s1[i]==s1[j])&(s1[i]==s1[k]))
            {
                s2[p]=s1[i];//заносим в массив s2 все буквы, которые повторяются не менее трех раз
                p++;
            }
        }
    }
int i=1;
for (i=1;i<p;i++)
{
    if(s2[i]>s2[i-1])
    {
        int k=s2[i];
        s2[i]=s2[i-1];
        s2[i-1]=k;
    }
}
cout<<"s2"<<endl;
getch();
}
И он не работает, мб что то не так сделанно или не доработанно...

 Комментарий модератора 
Используйте теги форматирования кода!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2011, 15:31
Ответы с готовыми решениями:

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

обработка символьной информации
Здраствуйте,прошу помощи со следующей задачей: В заданном тексте найти самое длинное слово в...

Обработка символьной информации
Добрый день, требуется помощь в написании алгоритма который будет обрабатывать символьную...

Обработка символьной информации
В заданном тексте вычислить среднее число слов в предложении и среднюю длину предложения.

4
2551 / 1316 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.05.2011, 16:04 2
int b=s1[7];
это как?
быть может
C++
1
int b=7
if((s1[i]==s1[j])&(s1[i]==s1[k]))
&& должно быть
и наконец строка
cout<<"s2"<<endl;
выдаст вам 2 символа-"s2"
ps/Пожалуйста, помещайте код между
Код
[CPP]и[/CPP]
0
2207 / 1717 / 858
Регистрация: 21.12.2010
Сообщений: 3,053
Записей в блоге: 11
28.05.2011, 16:23 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <functional>
#include <map>
 
int main(){
    std::string s="AfdddeAdmeAeaAaa";
    std::map<char, size_t, std::greater<char> > ltrs;
    for(std::string::const_iterator it=s.begin(); it!=s.end(); ++it){
        ++ltrs[*it];
    }
    for(std::map<char, size_t>::const_iterator it=ltrs.begin(); it!=ltrs.end(); ++it){
        if(it->second>=3) std::cout<<it->first<<" "<<it->second<<"\n";
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 14.05.2011
Сообщений: 3
28.05.2011, 16:32  [ТС] 4
Исправил, но ругается в этой строчке: s2[p]=s1[i];//заносим в массив s2 все буквы, которые повторяются не менее трех раз..

Добавлено через 1 минуту
Цитата Сообщение от igorrr37 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <functional>
#include <map>
 
int main(){
    std::string s="AfdddeAdmeAeaAaa";
    std::map<char, size_t, std::greater<char> > ltrs;
    for(std::string::const_iterator it=s.begin(); it!=s.end(); ++it){
        ++ltrs[*it];
    }
    for(std::map<char, size_t>::const_iterator it=ltrs.begin(); it!=ltrs.end(); ++it){
        if(it->second>=3) std::cout<<it->first<<" "<<it->second<<"\n";
    }
    return 0;
}
Спасибо конечн, но я в этом коде наврятли разберусь)) мне бы вот помочь с моим)
0
2207 / 1717 / 858
Регистрация: 21.12.2010
Сообщений: 3,053
Записей в блоге: 11
28.05.2011, 17:27 5
тогда так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(){
    char *s="AfdddeAdmeAeaAaa";
    int cntr[128]={'\0'}, i;
    for(; *s; ++s){
        ++cntr[*s];
    }
    for(i=127; i>=0; --i){
        if(cntr[i]>=3) printf("%c", i);
    }
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2011, 17:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обработка символьной информации
Помогите пожалуйста разобраться в задаче. (66.) Гороскоп. В древнеяпонском календаре был принят...

Обработка символьной информации
Помогите разработать программу где дефис в доменном имени может быть только одиночным. есть пример...

Обработка символьной информации
добрый вечер! У кожній з 10 рядкових змінних міститься назва художнього твору і прізвище автора....

Обработка символьной информации
Помогите с заданием, кто сможет. Задание: В заданном тексте указать слово, в котором доля гласных...


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

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

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