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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
#1

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

12.10.2012, 19:42. Просмотров 333. Ответов 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";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма цифр правой и левой частей (ошибки) (C++):

Разместить все элементы с положительными значениями в левой части массива, с отрицательными — в правой - C++
помогите, пожалуйста, написать программу на С++: Нужно разместить все элементы с положительными значениями в левой части массива,...

Определить значение k, при котором минимален модуль разности сумм элементов в правой и левой части на языке С++ - C++
Задан массив, определить значение k, при котором сумма |A(1)+A(2)+…A(k)-A(k+1)+…+A(N)| минимальна (то есть минимален модуль разности сумм...

Столбцы левой половины матрицы поменять местами со столбцами правой половины - C++
Написать программу с выделением памяти для динамического массива с рандомными значениями. Условие: Дан двумерный массив из четного...

Столбцы левой половины массива поменять местами со столбцами правой половины - C++
Дан двумерный массив из четного числа столбцов. Столбцы левой половины массива поменять местами со столбцами правой половины

Задача "сумма цифр стоящих на четных позициях", исправьте пожалуйста ошибки - C++
Дано натуральное число n. Найти сумму цифр числа, находящихся на четных позициях (старшая цифра числа находится на первой позиции). ...

Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 - C++
Помогите пожалуйста с задачей. Найдите натуральные числа такие, чтобы сумма их цифр следующего за ним числа делилась на 7. (язык С++)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
isvpro
72 / 7 / 1
Регистрация: 07.10.2009
Сообщений: 51
12.10.2012, 20:49 #2
Возможно будет проще помочь, если Вы скажете, что вообще должна делать эта программа? Т.е. какого эффекта хотели Вы достичь?
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 185
12.10.2012, 21:30  [ТС] #3
Цитата Сообщение от isvpro Посмотреть сообщение
Возможно будет проще помочь, если Вы скажете, что вообще должна делать эта программа? Т.е. какого эффекта хотели Вы достичь?
Определить, равна ли сумма цифор дробной части заданного положительного вещественного числа сумме цифр целой части.
isvpro
72 / 7 / 1
Регистрация: 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;
 
    
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2012, 15:29
Привет! Вот еще темы с ответами:

Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 - C++
задание:&quot;найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7&quot; помогите...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Массив: Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой - C++
Напишите пожалуйста программу Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными...

Создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар - C++
Здравствуйте. Необходимо создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар. ругается в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.10.2012, 15:29
Ответ Создать тему
Опции темы

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