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

Комбинаторика, количество анаграмм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализация алгоритма Рабина-Карпа для двусвязного линейного списка http://www.cyberforum.ru/cpp-beginners/thread643918.html
Собственно, вопрос в заголовке - будут ли какие-нибудь существенные отличия в реализации алгоритма от, например, данного кода, где реализован обычный алгоритм по поиску подстроки в строке: #include <stdio.h> #include <conio.h> #include <string.h> #include <math.h> long hash(char* str, int base, int pos, int len) { long result = 0; int r = len-1; for (int i = pos; i < i + len &&...
C++ Ошибка в коде Подскажите что не так? Пишет ошибку в файле graf.cpp: 106 H:\lab2graf2\graf.cpp invalid types `double' for array subscript 108 H:\lab2graf2\graf.cpp invalid types `double' for array subscript 114 H:\lab2graf2\graf.cpp invalid types `double' for array subscript придирается к матрице. Ещё ужасно бесит warning: 3 C:\Dev-Cpp\include\c++\3.4.2\backward\list.h:59, from graf.h In... http://www.cyberforum.ru/cpp-beginners/thread643905.html
Ошибки линковщика C++
Люди добрые, подскажите, как быть или дайте ссылку на статью о том, как работает линковщик.. Есть один главный хэдер, подключащий всё : #ifndef __CHATSERVER_H_ #define __CHATSERVER_H_ #include "resource.h" #include "Defines.h"
C++ Создание функции инициализации двумерного массива строк через указатель
Здравствуйте,имеется двумерный массив: in_data_up=_T("00"); in_data_up=_T("01"); in_data_up=_T("02");in_data_up=_T("03");in_data_up=_T("04"); in_data_up=_T("10"); in_data_up=_T("11"); in_data_up=_T("12"); in_data_up=_T("13"); in_data_up=_T("20");in_data_up=_T("21"); in_data_up=_T("22"); in_data_up=_T("23"); необходимо создать функцию,которая...
C++ Как использовать fmod http://www.cyberforum.ru/cpp-beginners/thread643859.html
Я занимаюсь программированием музыкального проигрывателя, и мне нужно как-то воспроизводить музыку! Мне здесь же посоветовали fmod, которым я ни не умею пользоваться ни устанавливается. Нужна помощь!!:cry::umnik:
C++ Для чего подключаются sys/stat.h? для чего мы его подключаем? подробнее

Показать сообщение отдельно
mr_free
 Аватар для mr_free
69 / 3 / 0
Регистрация: 08.08.2012
Сообщений: 223
Записей в блоге: 1
29.08.2012, 12:41     Комбинаторика, количество анаграмм
Здравствуйте, решаю задачу, но не знаю какой цикл использовать и как его задать. Суть задачи проста, в консоль вводят слово, далее подсчитуем количество символов, потом необходимо подсчитать факториал из длины строки, а потом проходя по циклу нужно искать одинаковые буквы (елементы), а потом в зависимости от количества одинаковых елементов, нужно поделить до этого полученый факториал на количество одинаковых букв.
Например,
Вводим
Код
SOLO
Далее считаем количество букв (4), считаем факториал из 4 (24), а потом уже идет цикл, который исчет одинаковые буквы (2="ОО"), а потом делит на количество букв, что повторяються (2). В итоге получаем 24/2=12 это и есть нужный и правильный ответ
Код
Выходные данные:
12
Вот, набросок подсчет длинны и факториала, а вот цикла не хватает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
double fact(unsigned long n);
int main()
{
    char s[14];
    scanf("%s", &s);
    int d=strlen(s);
    printf("%u\n",d);
           int x=fact(d);
 
    
    return 0;
}
double fact(unsigned long n)
{
    double c=(n<1)?1:n;
    if (1<(n-=1))
        c*=fact(n);
    return c;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru