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

рекурсивный перебор системы счисления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возвратить object в экспортируемой функции dll http://www.cyberforum.ru/cpp-beginners/thread816919.html
Добрый день. есть функция в dll, которая использует сторонние tlb (они подключены в h): extern "C" _declspec(dllexport) int Material() //чем заменить int { IMaterial** Materials = new IMaterial*(); //Абстрактный класс, верхний уровень IMaterial* Material = Materials;//Получение } есть код на NET, в котором будет использоваться этот возврат в виде object = Material()
C++ Нужно написать программу преобразующую данные в машинный вид Нужно написать маленькую программку которая преобразует разные типы данных в машинный код (двоичной системе счисления)..... Тоесть с клавиатуры вводим слово оно преобразуется в вид который воспринимается компьютером, то есть в двоичной системе счисления.... http://www.cyberforum.ru/cpp-beginners/thread816908.html
дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры.
Программа выдающая число с обратным порядком цифр C++
Составить программу, воспринимающую на входе целое четырехразрядное десятичное число и выдающую на выходе четырехразрядное число с обратным порядком десятичных цифр. Например: 1984 -> 4891. Указание: числа меньшей разрядности считать дополненными слева необходимым количеством нулей, например 1 -> 1000, 31 ->1300.
C++ Ошибка заполнения динамического двумерного массива http://www.cyberforum.ru/cpp-beginners/thread816884.html
При заполнении массива mas происходит выход за границы массива. По ходу исполнения программы данные записываются в ячейки и т.д. Судя по всему, программа не выходит своевременно из цикла (j=0; i<n; j++). Собственно вопрос: Что не так? cout<<"Введите размер массива, N: "; cin >> n; //=3 cout << "Введите элементы массива\n"; double **mas = new double*; for (i = 0; i < n; i++) {...
C++ Наследование классов #include "stdafx.h" #include <stdio.h> #include <conio.h> class PARENT { public: void method1(){this->method2();}; void method2(){_tprintf(_TEXT("PARENT::method2\n"));}; }; подробнее

Показать сообщение отдельно
Tolyas
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 16

рекурсивный перебор системы счисления - C++

24.03.2013, 11:19. Просмотров 338. Ответов 3
Метки (Все метки)

Задача: вводятся два числа от 1 до 6 (n и m)
n - количество цифр
m - порядок системы счисления
нужно вывести все варианты в столбец.
например

Input
2 3
Output
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3


Input
3 3
Output
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3
2 3 1
2 3 2
2 3 3
3 1 1
3 1 2
3 1 3
3 2 1
3 2 2
3 2 3
3 3 1
3 3 2
3 3 3

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
#include <iostream>
#include <cmath>
#include <stack>
#include <string>
 
using namespace std;
 
short n,m;
 
void f (long i, long max)
{
    stack <short> a;
    if (i<max)
    {   
        long r=i;
        //cout<<max<<"="<<i+1<<":";
        for(short j=0;j<n;j++)
        {
            a.push(r%m+1);
            r/=m;
        }
        for (short j=n-1;j>=0;j--)
        {
            cout<<a.top()<<" ";
            a.pop();
        }
        cout<<endl;
        f(i+1,max);
    }
}
 
int main()
{
    cin>>n>>m;
    long t=0;
    long max=0;
    max=pow((double)m,n);
    f(t,max);
    return 0;
}
где-то на 3200 - 3600 переборе выскакивает Run-Time Error. Подскажите в чем может быть ошибка.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru