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

Делители числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переделать готовый пример http://www.cyberforum.ru/cpp-beginners/thread155408.html
Добрый день помогите переделать пример. По заданию сказано: Перепишите класс класс Stonewt таким образом,чтобы прегрузить все 6 операций сравнения.Операции должны сравнивать члены pounds и возвращать значение типа bool. Напишите программу,которая объявляет массив из 6-и объектов Stonewt и инициализирует первые 3-и из них при объявлении массива. Затем она должна использовать цикл для ввода...
C++ Значение знака "%" Доброго времени суток! Знатоки вопрос к Вам (так как С++ не поддается изучению методом нахрапа) Что означает знак "%" перед именем переменной? Не могу понять для чего он вообще нужен и его смысл (или наоборот) http://www.cyberforum.ru/cpp-beginners/thread155388.html
C++ Работа с файлами. Убрать пустые строки
Дан текстовый файл, в котором встречаются пустые строки. Надо написать программу которая эти пустые строки из текстового файла удалит, и оставит просто текст. Лазил на форуме ничего подобного нету. Заранее благодарен.
C++ Структуры
Проблема при выводе на экран за место тех чисел которые вводил выводит 6 значиные и не выводит на русском языке отпишитесь если знаете=) #include <iostream> #include <conio.h> #include <stdio.h> #include <locale.h> #include <string.h> #include <stdlib.h> #define n 1 #define stp ""
C++ Решение уравнения http://www.cyberforum.ru/cpp-beginners/thread155338.html
Дано уравнение: Х в квадрате+У в квадрате=К в квадрате Найти все целочисленные решение если х,у,к = от 1 до 30 #include <iostream> using namespace std; void main () { for (int x=1;x<30;x++)
C++ Вывести текст Имеется текстовой файл с несколькими строчками разных размеров. Нужно вывести текст на экран с помощью fopen Буду благодарен за помощь :) подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
24.07.2010, 21:58     Делители числа
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
///////////////////////////////////////////////////////////////////////////
//Надо написать программу, которая находит количество делителей 
//каждого из целых чисел до 120.
///////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iomanip>
#include <iostream>
#include <vector>
///////////////////////////////////////////////////////////////////////////
typedef std::vector<int>  T_int_vect;
///////////////////////////////////////////////////////////////////////////
struct T_generate_podryad_ot
{
    int i_;
    T_generate_podryad_ot(int i): i_(i)
    {}
 
    int operator() ()
    {
        return i_++;
    }
};
///////////////////////////////////////////////////////////////////////////
class T_print_colich_deliteley
{
    //---------------------------------------------------------------------
    enum
    {
        MAX_NUM = 1000
    };
    //---------------------------------------------------------------------
    struct T_delit
    {
        int delimoe_;
        T_delit(int delimoe) : delimoe_(delimoe)
        {}
        bool operator () (int delitel)
        {
            bool delit = (delimoe_ % delitel == 0);
            if(delit)
            {
                std::cout << delitel
                          << ' ';
            }
            return  delit;           
        }
    };
    //---------------------------------------------------------------------
    T_int_vect  int_vect_;
    //---------------------------------------------------------------------
public:
    //---------------------------------------------------------------------
    T_print_colich_deliteley() : int_vect_(MAX_NUM) 
    {
        std::generate(int_vect_.begin(), int_vect_.end(), T_generate_podryad_ot(1));    
    }
    //---------------------------------------------------------------------
    void print_colich_deliteley_otrezka(int right_bound)
    {
        std::for_each(int_vect_.begin(), int_vect_.begin() + right_bound,
                      T_print_colich_deliteley());        
    }
    //---------------------------------------------------------------------
    int  count_deliteli(int num)
    {        
        return std::count_if(int_vect_.begin(), int_vect_.begin() + num,
                             T_delit(num));                                  
    }
    //---------------------------------------------------------------------
    void operator() (int num)
    {
        std::cout << std::endl
                  << '\t'
                  << "-> всего "
                  << std::setw(2)
                  << count_deliteli(num) - (num == 1 ? 1 : 2)
 
                  << " (без 1 и самого числа)"                  
                  << std::endl;
    }
    //---------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    T_print_colich_deliteley().print_colich_deliteley_otrezka(120);
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru