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

Числовые последовательности - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ испавте мою програму http://www.cyberforum.ru/cpp-beginners/thread202848.html
Здравствуйте форумчани =) Я написал программу она должна считать b=а+а, b=а+а, b=а+а. Можно сказать по формуле b=a+a но почему-то она считает b=а+а, b=а+а, b=а+а вот для наглядности общий вид матрицы=) в программе есть n - это количество строк=столбцов (n=m) #include<iostream.h> #include<conio.h>
C++ Где или как научиться писать BB и HTML коды Подскажите плз как или где можна научиться кодам.....или может есть какой то сайт с шаблонами кодов... Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread202838.html
C++ Массивы
Создать 2 масива на N елементов,размер первого определить неявно.Реализовать функцию копирования елементов первого массива во второй в обратном порядке....например.....есть масив 1 2 3 4....нужно создать масив, в который скопировался бы первый в обратном порядке...тоисть 4 3 2 1
C++ Найти количество четных цифр в числе
помогите пожалуйста, до завтра срочно надо программу, которая считала бы количество четных цифр в числе.если кто знает, help me!!)))
C++ Почему при использовании do while программа некомпелируеца? http://www.cyberforum.ru/cpp-beginners/thread202806.html
Здраствуйте, подскажите пожалуйсто почему когда я использую do или while программа компелируеца, а когда использую do while выходит ошибка я использую компиялятор Dev C++, вот код программы:#include <cstdlib> #include <iostream> #include <conio.h> #include <clocale> using namespace std; int main() { setlocale(LC_CTYPE,"Russian");
C++ Массивы в С Подскажите как будет выглядеть объявление так называемого динамического двумерного массива NxN вот например в C++ это выглядит: int **A=new int*; for (int i=0; i<n; i++) A=new int; Как такое реализуется в Си?? подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2801 / 1577 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
04.12.2010, 03:28     Числовые последовательности
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
//////////////////////////////////////////////////////////////////////////////////////
//Есть последовательность чисел a0, a1, a2... an, которая определяется 
//следующим образом: a0=0, а каждое следующие ai(1<=i<=n) вычисляется 
//как наименьшее натуральное число большее чем ai-1, десятичная запись которого 
//не содержит цифр десятичной записи числа ai-1
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <sstream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
typedef long long    T_num;
//////////////////////////////////////////////////////////////////////////////////////
bool  get_next_num(T_num&  num_cur)
{
    std::ostringstream  sout_num_cur;
    sout_num_cur << num_cur;
    T_str  num_cur_str(sout_num_cur.str());    
    
    //Увеличиваем первую цифру num_cur_str по модулю 9, пока она не перестанет
    //совпадать с какой-либо цифрой num_cur.
    char dig_first = num_cur_str[0];
    while(num_cur_str.find(dig_first) != T_str::npos)    
    {
        dig_first = (dig_first - '0') % 9 + 1 + '0';        
    }   
 
    //Находим наименьшую цифру, которой нет в num_cur_str.
    T_str  digits("0123456789");
    T_str::size_type  dig_min_pos = digits.find_first_not_of(num_cur_str);    
    if(dig_min_pos == T_str::npos) return  false;
    char  dig_min = digits[dig_min_pos];
    T_str  num_next_str(num_cur_str.size(), dig_min);
    num_next_str[0] = dig_first;
    if(num_next_str <= num_cur_str)
    {
        num_next_str.push_back(dig_min);
    }
 
    //Создаем входной поток из num_next_str.
    std::istringstream ssin(num_next_str);
    return  ssin >> num_cur;  
}
//////////////////////////////////////////////////////////////////////////////////////
void print_nums()
{
    int    counter  = 0;
    T_num  num_cur  = 0;    
    do
    { 
        ++counter;
        std::cout << num_cur
                  << std::endl;        
    }while(get_next_num(num_cur));
    std::cout << counter
              << " numbers are printed."
              << std::endl;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{       
    print_nums();   
}
 
Текущее время: 22:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru