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

Сумма цифр правой и левой частей (ошибки) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сдвиг элементов массива вправо на ону позицию http://www.cyberforum.ru/cpp-beginners/thread669732.html
Реализовать программу , осуществляющую сдвиг элементов массива вправо на ону позицию. Не могу составить алгоритм для программы.
C++ Задача о площади треугольника Следующий код не компилируется.Скажите пожалуйста почему #include"stdafx.h" #include<iostream> #include<math.h> double c; c=double sin(double x); double area(double a,double b,double c) {return (a*b*c)/2;} int main() http://www.cyberforum.ru/cpp-beginners/thread669722.html
Сформировать список, в котором сохраняются результаты сессии группы C++
Разработать две программы, обрабатывающие односвязный и двухсвязный списки: "сформировать список, в котором сохраняются результаты сессии группы. Написать программу начисления стипендии по результатам сессии." Подскажите как это реализовать)))))))))))))
C++ Вывести на экран числа в виде таблицы
Вывести на экран числа в виде следущей таблицы 1 0 2 2 0 0 3 3 3 0 0 0 4 4 4 4 0 0 0 0 5 5 5 5 5
C++ Подключение к сайту http://www.cyberforum.ru/cpp-beginners/thread669680.html
Всем привет, подумал что можно сделать программу которая может войти на сайт. Как сделать что бы при вводе логина и пароля отправлялся запрос на сайт в котором будет введен логин и пароль в соответствующие поля?
C++ Прямая и прямоугольник Человеки помогите, не успеваю к сроку. Может кто найдёт время? Даны x1, x2, a, b, a, b, c, x, y – вещественные числа. Определить, принадлежат ли точки прямой ax+by+c=0 прямоугольнику с вершиной(левой верхней) (x1, y1), (x2, y2) и длинами сторон a, b. подробнее

Показать сообщение отдельно
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
13.10.2012, 15:29     Сумма цифр правой и левой частей (ошибки)
После анализа предложенного алгоритма я понял, что проще написать с нуля =)
Вот такой код получился. Если что не понятно - спрашивайте.

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
//подключим библиотеке
#include <iostream>
 
//укажем пространство имен, чтобы не тыкать std каждый раз
using namespace std;
 
//поехали
int main()
 
{
    //определим переменную, в которой будем хранить введенное значение
    double valueToAnalyse_float;
 
    //сразу запросим это значение и сохраним
    //вывод делаю по-английски, чтобы не писать лишнего кода мешающего в данном случае для понимания алгоритма
    cout << "Please enter the value to anyalyse: "; cin >> valueToAnalyse_float;
 
    //воспользуемся стандартными средствами для определения целой и дробной частей, если кому не нравится - можно и modf
    
    int integradPartOfAnalysingValue_int;           // собственно целая часть будет храниться здесь
    double fractionalPartOfAnalysingValue_float;     //дробная часть будет храниться здесь
 
    integradPartOfAnalysingValue_int = static_cast<int>(valueToAnalyse_float); // получим целую часть путем явного преобазования (дробь просто отбросится)
    fractionalPartOfAnalysingValue_float = valueToAnalyse_float - integradPartOfAnalysingValue_int; // вычтем из всего числа, целую часть и логично предположить, что мы получим дробную часть.
 
    //определим сумму цифр целой части
    int sumIntegralPartOfAnalysingValue_int=0;
    
    while (integradPartOfAnalysingValue_int != 0)
    {
        sumIntegralPartOfAnalysingValue_int += integradPartOfAnalysingValue_int - integradPartOfAnalysingValue_int/10*10;
        integradPartOfAnalysingValue_int /= 10;
    }
    //теперь определим сумму цифр дробной части
    int sumFractionalPartOfAnalysingValue_int=0;
 
    //сначала сделаем дробную часть "целой"
    while(abs(fractionalPartOfAnalysingValue_float - static_cast<int>(fractionalPartOfAnalysingValue_float+0.5)) > 0.01)
    {
        fractionalPartOfAnalysingValue_float *= 10;
    }
    //приведем нашу "приведенную к целому типу" дробную часть к действительно целому типу
    int fractionalPartOfAnalysingValue_int = static_cast<int>(fractionalPartOfAnalysingValue_float+0.5);
    //и теперь применим к нему такой же механизм подсчета значащих цифр
 
    while (fractionalPartOfAnalysingValue_int != 0)
    {
        sumFractionalPartOfAnalysingValue_int += fractionalPartOfAnalysingValue_int - fractionalPartOfAnalysingValue_int/10*10;
        fractionalPartOfAnalysingValue_int /= 10;
    }
    //выведем оба числа
    if (sumIntegralPartOfAnalysingValue_int == sumFractionalPartOfAnalysingValue_int)
        {cout << "The summ of digits at integral parts and fracional parts of value, are both equal to:" << sumIntegralPartOfAnalysingValue_int;}
 
    else if (sumIntegralPartOfAnalysingValue_int > sumFractionalPartOfAnalysingValue_int)
        {cout << "The summ of digits at integral parts are more than fracional parts of value: " << sumIntegralPartOfAnalysingValue_int << " > " << sumFractionalPartOfAnalysingValue_int ;}
    else if (sumIntegralPartOfAnalysingValue_int < sumFractionalPartOfAnalysingValue_int)
        {cout << "The summ of digits at integral parts are less than fracional parts of value: " << sumIntegralPartOfAnalysingValue_int << " < " << sumFractionalPartOfAnalysingValue_int ;}
    return 0;
 
    
}
 
Текущее время: 04:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru