Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 09.10.2012
Сообщений: 6
1

написать программку на С++ Тема:целочисленная арифметика

09.10.2012, 22:37. Показов 647. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано ABCDEF.GHIKLM - вещественное число
1) убрать из числа EH
2) на место группы ABCD записать их сумму, сохранив в числе положение точки относительно целой и дробной частей числа.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2012, 22:37
Ответы с готовыми решениями:

Тема: «Целочисленная арифметика»
надо по теме целочисленная арифметика! Дано натуральное число N. Получить новое число M, которое...

Целочисленная арифметика
Дано натуральное число N (N > 9). Определить количество нулей в цифровой записи числа, кроме нулей...

Целочисленная арифметика
Нужно переставить старшую и младшую цифры в записи натурального числа. Не могу понять как это...

Целочисленная арифметика
Дано целое число n>2. Напечатать все простые числа из диапазона (Простые числа-числа которые...

5
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.10.2012, 22:43 2
Karfagen,
Поподробней задание объясните, на примере.
0
0 / 0 / 1
Регистрация: 09.10.2012
Сообщений: 6
09.10.2012, 22:50  [ТС] 3
Допустим дано число 846429.731525
(ABCDEF.GHIKLM)
1) EH нужно убрать вообще в ответе чтоб их не было, т.е. убрать 2 и 3
2) найти сумму A+B+C+D и записать полученное число ровно под тем что было точка под точкой чтобы были
например вот так: цифры любые можно от 0 до 9 я как пример эти взял
846429.731525
.....229.71525 <--- типа конечный результат 8+4+6+4 это типа сложили и получили 22 , затем 2 следущую убираем как по условию и после запятой записываем все кроме 3 тоже убираем остальные без изменения
0
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.10.2012, 23:15 4
Karfagen, с первым числом мне кажется проще всего работать, переведя в строку (хотя и затратно, зато просто). А вот второе нифига не ясно
0
0 / 0 / 1
Регистрация: 09.10.2012
Сообщений: 6
09.10.2012, 23:19  [ТС] 5
846429.731525 Это вещественное число вводимое с клавиатуры
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2012, 23:39 6
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    double x = 846429.731525;
    
    int left = x;
    int right = (long long)(x * 1e6) % 1000000;
 
    left = left / 100 * 10 + left % 10;
 
    right = right / 100000 * 10000 + right % 10000;
 
    int sum = 0;
    for (int tmp = left / 10; tmp; tmp /= 10)
        sum += tmp % 10;
 
    left = left % 10 + sum * 10;
 
    std::cout << left << '.' << right << std::endl;
}
С даблами вряд ли получится сделать, так как они постоянно округляются.

Причем в студии это работает, а в gcc неправильно находит дробную часть(из-за округления).

Добавлено через 2 минуты
В общем, подобрал эпсилон, который работает и в gcc и в студии.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int main()
{
   const double EPS = 1e-4;
 
   double x = 846429.731525;
 
   int left = x;
   int right = (long long)(x * 1e6 + EPS) % 1000000;
 
   left = left / 100 * 10 + left % 10;
 
   right = right / 100000 * 10000 + right % 10000;
 
   int sum = 0;
   for (int tmp = left / 10; tmp; tmp /= 10)
      sum += tmp % 10;
 
   left = left % 10 + sum * 10;
 
   std::cout << left << '.' << right << std::endl;
}
Если не будет работать, попробуйте поиграться с 5 строкой.
1
09.10.2012, 23:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2012, 23:39
Помогаю со студенческими работами здесь

Целочисленная арифметика
Здравствуйте) Помогите пожалуйста разобраться с задачей... Составьте программу вывода на экран...

Целочисленная арифметика
Натуральное число из N цифр является числом Армстронга, если сумма его цифр, возведенных в третью...

Целочисленная арифметика
:wall:Очень нуждаюсь в помощи!!! Игрок А объявляет двузначное число от 01 до 99. Игрок В меняет...

Целочисленная арифметика
Всем добра) Ребята как реализовать эти задачи в рамках одной программы(с использованием простых...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru