Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
9 / 3 / 2
Регистрация: 15.04.2012
Сообщений: 185
1

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

12.10.2012, 19:42. Показов 1007. Ответов 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
#include <iostream>
#include <cmath>
 
using namespace std;
int main()
 
{
double N, N1,N2,N3,N4,N5,N6,N7,N8,D,C,SR,SL;
int a,b,c,d,e,f,Cel,Drob;
  cout << "Enter N"<<endl;
  cin >> N;
D = modf(N,&C);
cout<<C<<endl<<D<<endl;
Cel = C;
a = Cel % 1000; N1= Cel/= 1000;
b = a % 100; N2= a/= 100;
c = b % 10; N3= b/= 10;
N4 =c;
Drob = D*10000;
d = Drob % 1000; N5= Drob/= 1000;
e = a % 100; N6= d/= 100;
f = b % 10; N7= e/= 10;
N8 =f;
SR = N1+N2+N3+N4;
SL = N5+N6+N7+N8;
if ( SR = SL )
cout <<SL<<endl<<SR<<endl<< "Da";
else cout <<"Net";
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2012, 19:42
Ответы с готовыми решениями:

Сравнить сумму цифр левой и правой части пятизначного числа
Помогите, пожалуйста: Используя цикл с предусловием сравнить сумму цифр левой и правой части...

Определить и сообщить пользователю о том, сумма какой половины массива больше: левой или правой
9)Пользователь должен указать с клавиатуры положительное число, а программа должна создать массив...

Является ли сумма элементов левой части последовательности больше, чем сумма элементов правой части
Вводиться последовательность из N целых чисел. Является ли сумма элементов левой части...

При нажатии левой клавиши "мыши" отразить курсор в левой половине экрана, а при нажатии правой - в правой
При нажатии левой клавиши &quot;мыши&quot; отразить курсор в левой половине экрана, а при нажатии правой - в...

3
74 / 9 / 4
Регистрация: 07.10.2009
Сообщений: 51
12.10.2012, 20:49 2
Возможно будет проще помочь, если Вы скажете, что вообще должна делать эта программа? Т.е. какого эффекта хотели Вы достичь?
0
9 / 3 / 2
Регистрация: 15.04.2012
Сообщений: 185
12.10.2012, 21:30  [ТС] 3
Цитата Сообщение от isvpro Посмотреть сообщение
Возможно будет проще помочь, если Вы скажете, что вообще должна делать эта программа? Т.е. какого эффекта хотели Вы достичь?
Определить, равна ли сумма цифор дробной части заданного положительного вещественного числа сумме цифр целой части.
0
74 / 9 / 4
Регистрация: 07.10.2009
Сообщений: 51
13.10.2012, 15:29 4
После анализа предложенного алгоритма я понял, что проще написать с нуля =)
Вот такой код получился. Если что не понятно - спрашивайте.

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;
 
    
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2012, 15:29

Анимация: человечек по желанию пользователей либо махает правой рукой, либо левой или правой ногой
написать программу, при помощи которой человечек будет по желанию пользователей либо махать правой...

Рисунки с левой и с-правой сторону
Подскажите как сделать рисунок с левой стороны и с правой? я сделал но у меня криво отображается...

ПравилА левой и правой руки
Помогите пожалуйста с правилами левой и правой руки со всеми тонкостями)) Постоянно путаю все....

Отличие правой и левой свертки
Правую и левую свертку можно реализовать так: #!/usr/bin/racket #lang scheme (define...

Код левой и правой кнопки мышки
Нужны коды кнопок мышки, в Keys не нашёл. Я использую следующий код для захвата кнопок: protected...

Работа с PopupMenu левой и правой кнопками мыши
В моем проекте требуется задать возможность менять пользователем названия осей координат (показаны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.