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

Цифры числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в программе! http://www.cyberforum.ru/cpp-beginners/thread68104.html
найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N. Выведите целое число Q. Если такого числа не существует, выведите −1. Прогу я написала, тока никак не получается сделать так, чтоб еслиб Q не сущ выводило бы -1 Пожалуйста помогите вот код :) # include <iostream> using namespace std; int main () {
C++ отсортировать массив по возрастанию #include <iostream.h> #include <stdlib.h> #include <stdio.h> #define N 10 БУДУ ПРЕМНОГО БЛАГОДАРЕН ЕСЛИ ПОМОЖЕТЕ решить 3 ЗАДАЧКИ: 1.найти произведение чисел в массиве 2.отсортировать массив по возрастанию 3.найти опреедлитель матрицы 3*3 по определению определителя http://www.cyberforum.ru/cpp-beginners/thread68073.html
Передача динамических матриц в функцию C++
Здравствуйте, ребята! У меня очень простой вопрос. Я работаю с очень большими матрицами. Они создаются в куче: const N = 10000; int **MA = new int * ; for(int i = 0; i < N; i++){
Cвязанные списки. Длинная арифметика. C++
При помощи связанных списков необходимо написать процедуру возведения числа в большую степень (до 200 знаков) как это реализовать? можете написать алгоритм? или сам код с описаниями, если не трудно?
C++ Оформление чёрного окна консоли VS C++ http://www.cyberforum.ru/cpp-beginners/thread68034.html
Здравствуйте. Как в си ++ в чёрном окне сделатать следующее: Нужно сделать заливку синим цветом и чтоб буквы голубым (Как в FAR'е). Нужно сделать размер окна на весь экран автоматом. Нужно в переменную записать текущие размеры окна (в пробелах). Нужно сделать выпадающую менюшку как в FAR'е. Пожалуйста помогите....
C++ шестнатеричное число как в с++ преобразовать десятичное число в шестнатеричное? подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4935 / 2515 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
29.11.2009, 11:48
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <iostream>
 
using std::cin;
using std::cout;
 
#define BASE 10;
 
int length(int a)
{
    int len = 1;
    int temp = BASE;
 
    while(a > temp)
    {
        temp *= BASE;
        len++;
    }
 
    return len;
}
 
int low(int a, int nlow)
{
    int temp = BASE;
    while(--nlow)
    {
        temp *= BASE;
    }
    return a%temp;
}
 
void into(int *in, int n, const int len)
{
    for(int i = (len - 1); i >= 0; i--)
    {
        in[i] = low(n, 1);
        n /= BASE;
    }
}
 
void print(const int *out, const int len)
{
    for(int i = 0; i < len; i++)
    {
        cout << out[i];
    }
    cout << "\n";
}
 
/* сортировка. метод пузырька */
void sort(int *a, int size)
{
    int x = 0;
    for(int i = 0; i < size; i++)               // i - номер прохода
    {               
        for(int j = size-1; j > i; j-- )        // внутренний цикл прохода
        {
            if ( a[j-1] < a[j] )
            {
                x = a[j-1];
                a[j-1] = a[j];
                a[j] = x;
            }
        }
    }
}
 
void herz(const int *a, int size)
{
    int cipher = BASE;
    int *b = new int[cipher];
    int amount = 0;
 
    for(int i = 0; i < cipher; i++)
    {
        amount = 0;
        for(int j = 0; j < size; j++)
        {
            if( a[j] == i )
            {
                amount++;
            }
        }
        b[i] = amount;
    }
 
    print(b, cipher);
 
    delete b;
}
 
void yuik()
{
    /* объявлеие переменных */
    int n = 0;
    int nlen = 1;           // длины чисел
    int t = 0;              // временная переменная (всегда пригодится)
    int tn = 0;             // и еще одна тоже не помешает
    
    /* запрос числа от пользователя */
    cout << "Введите число 'n' (не большее, чем int): ";
    cin >> n;
 
    /* некоторые присваивания */
    tn = n;                 // чтобы не потерять исходное число, будем работать с tn
    int len = length(n);    // посчитать длину числа n (количество разрядоц/цифр)
    int *in = new int[len]; // создать массив подходящего размера
 
    into(in, n, len);       // записать число в массив in
    cout << "Число в представлении массива (правильно ли записалось?)\n";
    print(in, len);         // вывести массив на экран
    cout << "Отсортировать массив по убыванию (это и будет максимальное число ;)\n";
    sort(in, len);          // отсортировать массив
    print(in, len);         // вывести массив на экран
    cout << "Встречаемость цифр в числе (слева направо от 0 к 9)\n";
    herz(in, len);          // определить и вывести частоту цифр в числе
 
    delete in;
 
    cout << "\n";
}
 
int main(int argc, char **argv)
{
    setlocale(LC_ALL, "Russian");
    //xex(); // вычисление суммы k-млдаших разрядов числа n и k-старших разрядов числа m
    //dimiona(); // оператор switch, какой текущий месяц, если прошло n месяцев
    //yuik();
 
    yuik();
 
    system("pause");
    return 0;
}
Вот, делает все шаги, кроме максимального числа, потому что это тоже самое что сортировка.

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