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

Найти количество чисел, составленных из цифр a, b, c - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлами, вставка в середину документа и навигация в нем с fseek http://www.cyberforum.ru/cpp-beginners/thread1214239.html
Товарищи, доброго вам дня. Столкнулся вот с такой проблемой. fseek не переносит указатель в нужную часть документа. int set_pos(struct DATABASE &db,int file,unsigned int pos) { int ERR=0; switch(file) { case 0: ERR=fseek(db.index,pos,SEEK_SET); if(ERR<0) {return -1;} // Ошибка db.pos_index=pos;
C++ Подскажите как переписать класс с использованием умных указателей, либо STL К сожалению, знания об умных указателях и библиотеке STL прошли мимо меня... Сейчас пытаюсь восполнить этот пробел, но уже третий день не могу понять как этим пользоваться. Очень прошу помочь мне, показав, как описанный ниже класс перевести на умные указатели, или на векторы: class test { private: int Amount; int x; http://www.cyberforum.ru/cpp-beginners/thread1214196.html
C++ где ошибка в программе подскажите
здравствуйте помогите плиз. каждую входящую "*" должно менять на "??"(считывается из файла)но выдает чепуху что в файле забито #include<iostream> #include<fstream> #include<string> int n,i; using namespace std; void main() {setlocale(0,""); ifstream in("D:\\1.txt"); if(!in){cout«"Ошибка!."«endl; system("pause");}
Упражнение на строки C++
Петя записался в кружок по программированию. На первом занятии Пете задали написать простую программу. Программа должна делать следующее: в заданной строке, которая состоит из прописных и строчных латинских букв, она: -удаляет все гласные буквы, -перед каждой согласной буквой ставит символ ".", -все прописные согласные буквы заменяет на строчные. Гласными буквами считаются буквы "A", "O",...
C++ Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? http://www.cyberforum.ru/cpp-beginners/thread1214172.html
Всем привет! Мучает меня один вопрос: как грамотнее и безопаснее работать со строками: 1) Создавать экземпляр класса wstring и работать с ним. 2) Создавать строку при помощи wchar_t, затем использовать функции класса wstring для работы с ней.
C++ Как заменить символ "*" на "??" доброго вечера. подскажите пожалуйста у меня по заданию идет заменить каждую встречающуюся * на ??(считываемую из файла). я понял как заменить * на ?, но как на ??. добавлю листинг который сделал.буду очень благодарен.#include<iostream> #include<fstream> using namespace std; void main() {setlocale(0,""); char name; cout<<"введите путь к файлу и нажмите ENTER"<<endl; cin.getline(name,80);... подробнее

Показать сообщение отдельно
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
22.06.2014, 17:48     Найти количество чисел, составленных из цифр a, b, c
Я сейчас заметил, что невнимательно прочитал условие, мой предыдущий код не подходит(возвращает в виде строки не количество чисел, а сами числа),вот правильный, в комментариях - отличия от первоначального.

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
#include<iostream>
using namespace std;
 //функция возвращает значение - указатель на строку, в которой хранится количество чисел
char* rec(long long int s, long long int n, int a, int b, int c) //не принимает в качестве входного параметра int &res
{
    static int res=0; //счетчик чисел, объявлен статическим, чтобы сохранять своё значение при рекурсии
    static char* resStr=new char[5]; //указатель на строку, в которую запишется количество чисел
                                    //объявлен статическим, чтобы память не выделялась каждый раз при вызове функции
    long long tmp=s*10+a; //проверяем переменную составленную из переменных a, b и c
    if(tmp<n)//       проверка границы отрезка
    {           //-----------------------------------
        if(tmp>100)// проверка границы отрезка
        {
            cout<<tmp<<endl;
            res++;}
            
        rec(tmp, n, a, b, c);//вызов рекурсивной функции из самой функции
    }
    tmp=s*10+b;            
    if(tmp<n)
    {
        if(tmp>100)
        {
            cout<<tmp<<endl;
            res++;}
        rec(tmp, n, a, b, c);
    }
    tmp=s*10+c;
    if(tmp<n)
    {
        if(tmp>100)
        {
            cout<<tmp<<endl;
            res++;}
        rec(tmp, n, a, b, c);
    }
    itoa(res,resStr,10);//преобразуем целочисленное значение в строку, 10 - основание системы счисления
    return resStr;//возвращаем указатель на строку с количеством чисел
    
}
 
int main()
{
    long long int n;
    int a,b,c;
    
    cout<<"n= "; cin>>n;
    cout<<"a= "; cin>>a;
    cout<<"b= "; cin>>b;
    cout<<"c= "; cin>>c;
    char *resl;
    resl=rec(0,n,a,b,c);
    cout<<"Res= "<<resl<<endl;
    system("pause");
    return 0;
}
 
Текущее время: 08:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru