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

Посчитать все буквы входящие в текст не меньше двух раз - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить радиус и центр окружности.... http://www.cyberforum.ru/cpp-beginners/thread286263.html
Здравстуйте!!!! Помогите пожалуйста..... Задача: Определить радиус и центр окружности, проходящей по крайней мере через три различные точки заданного множества точек на плоскости и содержащей внутри наибольшее количество точек этого множества. Есть программа на Pascal ( только я не уверена, что она работает) надо переделать на Си!!!!!! uses crt; const nmax=28; e=0.01; type ...
C++ Сложение столбиком. Привет всем!Я недавно начал изучать с++ и решил написать свою функцию сложения больших чисел т.е. длинную арифметику.Смысл не сложный.Мы считываем 2 числа в 2 строки в обратном порядке,получаем целочисленный тип каждого из них,складываем и записываем в 3 массив.Если результат выходит больше 9,то записываем в 3 строковую переменную <результат сложения>-10.И при следующем проходе цикла прибавляем... http://www.cyberforum.ru/cpp-beginners/thread286262.html
C++ Как перевести убывающий цикл из паскаля в C++?
Не могу понять как перевести строчку кода из Pascal на C++. Подскажите пожалуйста For j:=n Downto (i+1) Do
Подскажите, как считать из файла структуру C++
Только начали работу с файлами на С. Поэтому пока что не совсем разобралась, что и куда. Struct notebook { char model; //наименование struct size { //габаритные размеры float x; float y; float z; }; float w; //вес
C++ как записать в переменную символьного типа (думерный массив) несколько строк, после инициализации этой переменной? http://www.cyberforum.ru/cpp-beginners/thread286192.html
как записать в переменную символьного типа (думерный массив) несколько строк, после инициализации этой переменной? тоесть при инициализации канает char a={"dfbsdb","dfvsdfv"} а если после инициализации записать, a={"dfbsdb","dfvsdfv"} то выдаёт ошибку! или я мб нетак записываю? подскажите в чём ошибка!!
C++ Перезаписать память начиная с указателя Bitmap[1] элементами начиная с указателя Bitmap[0] Задан массив из 3 указателей Bitmap, по адресу Bitmap необходимо записать 480*640 элементов из массива Bitmap. В последнем цикле for выдает ошибку при i=2: Необработанное исключение в "0x004139be" в "Blue.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc". int i=0; BYTE* Bitmap; //Выделяем память for (i=0; i<=2; Bitmap=(BYTE *)malloc(480*640*sizeof(BYTE))); подробнее

Показать сообщение отдельно
resource2008
109 / 109 / 2
Регистрация: 11.03.2011
Сообщений: 421
30.04.2011, 18:01     Посчитать все буквы входящие в текст не меньше двух раз
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
#include "stdio.h"
#include "string.h"
#include "conio.h"
 
int main()
{
    int retCode = 0;
 
    // init our char array
    char*   tSymbols = "ksdjnfkjsdhcsvcbviwbibweiubuibhcfwibnceicbweicejnceuiwncweuicn";
    int counter[26];    // array of the latin alphabet character counter
    unsigned int    i;              
    unsigned int    cindex;
    unsigned int    strLength;
 
            // get legth of the string
        strLength = strlen(tSymbols);
            
            // clear counter array
        memset(counter, 0, 26*sizeof(int));
 
        for (i=0; i<strLength; i++)
            {
                cindex = tSymbols[i] - 97;  // calculate index for the counter array
                counter[ cindex ] += 1; // count all characters entries in the string 
            }
            
        // check the number of charatrs entries 
        for (i=0; i<26; i++)
        {
            if (counter[i] >= 2)
                // and print it to the screen
                printf("%c - \t %i\n", i+97, counter[i]);
        }
 
        getch();
 
return retCode;
}
но программа работает не совсем правильно - будут ошибки, если появятся прописные символы в строке. думаю самостоятельно сможешь изменить.

вкратце о принципе работы:
- считаем количество букв для всего латинского алфавита
- начальное состояние всех счетчиков - по нолям
- счетчики букв, найденных в массиве, инкрементируются

- проверяем все значения счетчиков;
- тех, у которых количество вхождений больше либо равно 2 - выводим символ и количество его вхождений в строку

Добавлено через 1 минуту
вот))
можно сделать просто и со вкусом - функция поиска вхождений подсторки в строку уже давно придумана))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru