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

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

Войти
Регистрация
Восстановить пароль
 
CppBeginner
1 / 1 / 0
Регистрация: 11.10.2009
Сообщений: 23
#1

Самый редко встречаемый символ - C++

29.04.2010, 22:32. Просмотров 738. Ответов 1
Метки нет (Все метки)

Задан массив A[30]. Найти самый редко встречаемый символ.

Может быть пригодится кому, но вот исходник задачи обратной - самый часто встречаемый символ.
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
#include <iostream.h>
int main()
{
int i,j,S,SPred=0;
char a[32],sim1,sim2;
for(i=0;i<32;i++)
    cin>>a[i];
 
for(i=0;i<32;i++)
{
    for(j=1;j<32;j++)
        if(a[i]==a[j])
        {
            S++;
            sim1=a[i];
        }
    if(S>SPred)
    {
        SPred=S;
        sim2=sim1;
    }
    S=0;
}
 
cout << SPred << "\t" << sim2 << endl;
system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2010, 22:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Самый редко встречаемый символ (C++):

Самый часто встречаемый символ в массиве - C++
А как можно найти наиболее часто встречающийся символ в массиве из х элементов

Самый редко встречающийся элемент в массиве - C++
Всех приветствую! Прошу помощи. Собственно идея задачи вроде бы проста нужно найти самый часто и редко встречающийся эллемент в массиве. ...

Определить, какой символ наиболее редко встречается в заданном массиве(шаблоны) - C++
Доброго времени суток, товарищи эксперты! Написал программу по следующему заданию: Задан массив int A, элементы которого могут быть...

Найти самый часто встречающийся символ в тексте - C++
я &quot;сделал&quot; программу шифратор и дешифратор текста по методу цезаря, но теперь мне надо сделать так чтобы программа показывала самый...

Самый самый самый простой пример рекурсии - C++
приведите самый прост пример рекурсии)))void main(int k) { int n=10; k=n; k++; n=k; if(n!=20)main(n); ...

Как переставить местами самый маленький и самый большой элементы массива? - C++
1. Переставить местами маленький и самый большой элементы массива

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,604
30.04.2010, 04:08 #2
Вот так лексикографически первый наименее часто встречающийся в строке символ находит:
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
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
#include <functional>
 
class LessCnt : public std::binary_function<std::pair<char, int>, std::pair<char, int>, bool>  {
public:
    bool operator ()(const std::pair<char, int>& a, const std::pair<char, int>& b){
        return ( a.second < b.second );
    }
};
 
int main(){
    std::string buf;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    if ( buf.empty() )
        return 1;
 
    std::map<char, int> map;
    for ( std::string::const_iterator i = buf.begin(); i != buf.end(); ++i )
        map[*i]++;
 
    std::cout << "The first most seldom met character is '" << (*(std::min_element(map.begin(), map.end(), LessCnt()))).first << "'" << std::endl;
 
    return 0;
}
Добавлено через 5 минут
Цитата Сообщение от CppBeginner Посмотреть сообщение
C++
1
2
3
4
for(i=0;i<32;i++) 
{ 
  for(j=1;j<32;j++) 
    if(a[i]==a[j])
Ошибка. На последней итерации получится ( a[31] == a[31] ). Или так и задумано?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2010, 04:08
Привет! Вот еще темы с ответами:

Определить сколько стоит самый дешевый и самый дорогой обед - C++
В столовой предлагается N комплексных обедов, состоящих из Q блюд. Известна стоимость и калорийность каждого блюда. Сколько стоит самый...

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

Найти наиболее редко встрещающую цифру - C++
бо'льшую часть задания я сделал сам... вот заступорился вот на этом: &quot;найти наиболее редко встрещающую цифру в числе&quot; В функцию мы...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» - C++
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в...


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

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

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