Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2019, 17:26   #1
ChaoSLogiC
Новичок
Джуниор
 
Регистрация: 26.01.2019
Сообщений: 2
По умолчанию Сумма цифр введённого числа

#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include"..\\h\\wind.h"
#include"..\\h\\page_1.h"
void main()
{
page_1();
window(1, 1, 80, 25); textattr(15 + (7 << 4)); clrscr();
char *name = "Сумма цифр введённого числа";
int num = 13;
long n;
cout<<"N : ";
cin>>n;

long c=0,k=1,s=0;
while(k>=1)
{
k=n/pow(10,(float)(c+1));;
c++;
}
for(long i=c-1;i>=0;i--)
{
s+=(n%(long)(pow((float)10,(i+1))))/pow((float)10,i);
}
cout<<"\nCifr - "<<c<<"\n"<<"summa - "<<s<<"\n";
getch();
}
Не корректно работает с отрицательными значениями. Что нужно поменять?
ChaoSLogiC вне форума Ответить с цитированием
Старый 26.01.2019, 17:51   #2
ChaoSLogiC
Новичок
Джуниор
 
Регистрация: 26.01.2019
Сообщений: 2
По умолчанию

if (n < 0) { n = -n; } может кому надо будет вот так решил вопрос
ChaoSLogiC вне форума Ответить с цитированием
Старый 26.01.2019, 22:10   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

За такой говнокод надо руки отрубать.
Цитата:
Сообщение от ChaoSLogiC Посмотреть сообщение
Код:
long c=0,k=1,s=0;
while(k>=1)
{
k=n/pow(10,(float)(c+1));;
c++;
}
for(long i=c-1;i>=0;i--)
{
s+=(n%(long)(pow((float)10,(i+1))))/pow((float)10,i);
}
cout<<"\nCifr - "<<c<<"\n"<<"summa - "<<s<<"\n";
getch();
}
Ты серьёзно?!

Код:
unsigned sum(long x)
{
  unsigned s = 0;
  x = abs(x);
  while (x) s += x % 10, x /= 10;
  return s;
}
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.02.2019, 18:27   #4
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Код:
#include <string>
#include <iostream>
int main()
{
   std::string s;
   std::cin>>s;
   unsigned long sum = 0;
   for(char c : s)
       sum+= c-'0';
   std::cout <<""Sum is "<<sum;
}
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Говорят, что число "Счастливое" если сумма цифр левой половины числа равна сумме цифр правой половины числа. если число имеет нече Xumera Паскаль, Turbo Pascal, PascalABC.NET 1 18.11.2013 21:45
Найти все четырёхзначные десятичные числа, у которых сумма первых двух цифр в два раза больше суммы правых двух цифр студенточкаБИ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 26.05.2013 13:26
Задача на Pascal ABC: Два трёхзначных числа a и b. В интервале от a до b все числа, сумма цифр которых кратна 3, выдать зеркально Andrew5674 Помощь студентам 5 16.04.2013 23:00
Сумма цифр числа... Dimak67 Microsoft Office Excel 5 09.04.2010 00:46
Сумма цифр из числа. AlterNatioN Фриланс 5 02.03.2010 21:18