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

Операторы цикла, целочисленные типы данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая считывает текст из файла http://www.cyberforum.ru/cpp-beginners/thread106932.html
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз встретилось в тексте.
C++ Наследование оператора '=' Ситуация такая: пишу класс 3-мерного вектора, предварительно создав шаблон n-мерного вектора (ибо далее таким же макаром нужно соорудить и 2- и 4- мерные со своими плюшками): template <int DimensionsNum> class VectorXD { ... } class Vector3D : public VectorXD<3> http://www.cyberforum.ru/cpp-beginners/thread106539.html
Копия процесса C++
Чего надо написать под студией, чтоб полученная прога при запуске копии, что этот экземпляр непервый, но не закрывалась, а читала в массив HWNDы главных окон всех ранее запущенных экземпляров и посылала туда мессагу для добавления в такие же массивы HWNDа её собственного главного окна?
C++ Прототипы
class A { ... public: type operator = (...); // Какой здесь type? A или A &? type operator + (...); // Какой здесь type? A или A &? type operator - (...); // Какой здесь type? A или A &? type operator * (...); // Какой здесь type? A или A &? type operator / (...); // Какой здесь type? A или A &? type operator += (...); // Какой здесь type? void, A или A &?
C++ Бинарные файловые потоки http://www.cyberforum.ru/cpp-beginners/thread106377.html
Существует ли стандартный вариант? Как обозван тип такого потока для записи? Для чтения? Чтоб бинарники писать операторами типа so<<d; (so - поток, d - данное любого типа), а читать si>>d; (si - поток).
C++ Состояние файлового потока .... fostream log; .... class A { public: A (); }; A::A() { подробнее

Показать сообщение отдельно
llomushka
3 / 3 / 0
Регистрация: 21.03.2010
Сообщений: 19
04.04.2010, 00:36  [ТС]     Операторы цикла, целочисленные типы данных
Зоти Сергей
программа считает все числа, кроме 1, совершенными, но, согласно http://ru.wikipedia.org/wiki/%D0%A1%...81%D0%BB%D0%B0 нужно вычитать все из суммы все числа, кроме совершенных...

Добавлено через 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
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
#include<iostream>
#include<conio.h>
using namespace std;
 
/*
Функция bool Check(int num);
-------------------------------------------
Аргументы:
    int num: проверяемое число
-------------------------------------------
Возвращает true, если данное число num
является числом Фибоначчи и false, 
если не является
*/
bool Check(int num) {
    int i=0, g=1, k=0, z=-1;
 // i - предыдущее число Фибоначчи, g - текущее число, k - временная переменная
    while(g+i<=num || g+i<=-1*num) {
        if(g+i==num || z*(g+i)==num) return true;
        k=g;
        g+=i;
        i=k;
        z*=-1;
    }
    return false;
}   
 
bool Input(short &num) {
    char tmp;
    short minus_flag=1;
    num=0;
    
    while(tmp=getch()) {
        switch(tmp) {
            case '0': 
            case '1':
            case '2':
            case '3':
            case '4': 
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                if(num*10+(int)tmp-48<=SHRT_MAX && -1*(num*10+(int)tmp-48)>=SHRT_MIN) {
                    num*=10;
                    num+=(int)tmp-48;
                    printf("%c", tmp);
                }
                break;
            case '-': 
                if(num==0) {
                    minus_flag=-1;
                    printf("%c", tmp);
                }
                break;
            case 27:
                num*=minus_flag;
                printf("\n");
                return false;
            case 13: 
                num*=minus_flag;
                printf("\n");
                return true;
        }
    }
}
 
void main(void) {   
    short num;
    int average=0;
    short qNum=0, min=SHRT_MAX, max=SHRT_MIN, qFib=0; 
 
    printf("Input numbers over Enter. Press Esc for complete\n");
 
    while(Input(num)==true) {
        qNum++;
        if(num>=max) max=num;
        if(num<=min) min=num;
        if(Check(num)) {
            average-=num;
            qFib++;
        }
        else average+=num;
    }   
    if(qNum!=0)
    {
        average/=qNum;
        printf("Numbers: %d\n", qNum);
        printf("Fibonacci: %d\n", qFib);
        printf("Average amount: %d\n", average);
        printf("Max number: %d\n", max);
        printf("Min number: %d\n", min);
    }
    else printf("You did not input numbers\n\n");
 
    system("pause");
}

но здесь функция bool InputNumber(int&) реализована по другому(

Добавлено через 1 минуту
подскажите как переделать плииииз!!

Добавлено через 3 минуты
сумма здесь не среднее арифметическое а просто сумма совершенных чисел минус обычные числа
 
Текущее время: 01:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru