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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
#1

Сумма цифр в числе - C++

12.08.2011, 20:22. Просмотров 1699. Ответов 29
Метки нет (Все метки)

Помогите пожалуйста.. не могу понять почему он не выводит результат?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
using namespace std;
int main() {
      int n;
      int i;
      ifstream in( "input.txt");      
      if ( !in) return 1;           
      in >>n ;
      int a[n];
      int b=0;
      for(i=n;i>=0;i--)
      {
        b=b+a[i];             
                      }
      in.close();                       
      ofstream out( "output.txt");      
      if ( !out) return 1;              
      out << b;                        
      out.close();                      
      return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2011, 20:22     Сумма цифр в числе
Посмотрите здесь:

Сумма цифр в числе - C++
Определить сумму цифр в числе.

Сумма цифр в данном числе - C++
Составить алгоритм определения количества 2N-значных чисел из которых сумма N первых цифр равна сумме N последних. N - произвольное...

Сколько цифр в числе и чему равна их сумма? - C++
дано натуральное число n(n&lt;=100) a) Сколько цифр в числе n? б) Чему равно сумма его чисел? в) Найти последнюю цифру г) первую...

Вычислить число положительных целых, меньших n, таких, что их сумма цифр равна сумме цифр в n - C++
Здравствуйте! Помогите плиз Нужно написать программу, которая по целому положительному числу n вычисляет количество положительных...

Сумма числе в файле - C++
Не могу понять ваше как это выполнить может есть какая это функция. Вот сама задача: Есть файл с названием Date.txt, надо открыть файл...

Сравнение цифр в числе - C++
Подскажите, как сравнивать цифры в числе. Пытался в массив перевести, но не получилось. Пытался просто число в символьный перевести и...

Замена цифр в числе - C++
Здравствуйте, помогите с заданием: Дано натуральное число n, заменить в нем цифры 3,5,7 на 4,6,8 соответственно. На паскале писала...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Preveter
9 / 9 / 1
Регистрация: 11.08.2011
Сообщений: 66
12.08.2011, 22:05     Сумма цифр в числе #16
Цитата Сообщение от Алексaндр Посмотреть сообщение
Ноль ведь можно и не добавлять. Так на 1 шаг меньше и время экономим =)
Ну тогда можно так:

C++
1
2
3
4
5
6
7
8
9
b=1;
if (n<0)
    for(i=-1;i>=n;i--){
        b=b+i;             
    }
if (n>1)
    for(i=2;i<=n;i++){
        b=b+i;             
    }
Добавлено через 1 минуту
Цитата Сообщение от silentnuke Посмотреть сообщение
C++
1
2
3
4
5
6
7
int b=n;
    if(n<0)
        while(n++)
            b+=n;
    else if(n>0)
        while(n--)
            b+=n;
Странный алгоритм...
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
12.08.2011, 22:09     Сумма цифр в числе #17
Цитата Сообщение от Preveter Посмотреть сообщение
Странный алгоритм...
эм, что странного?)
более экономный чем ваш.)
отработает быстрее)
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 22:23     Сумма цифр в числе #18
Зачем быдлокодить-то
C++
1
2
3
4
5
6
#include <fstream>
int main(){
    int n;
    std:: fstream("input.txt") >> n;
    std:: ofstream("output.txt") <<   (1 + abs(n)) * n / 2  + (n <= 0);
}
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
12.08.2011, 22:31     Сумма цифр в числе #19
Цитата Сообщение от diagon Посмотреть сообщение
Зачем быдлокодить-то
C++
1
2
3
4
5
6
#include <fstream>
int main(){
    int n;
    std:: fstream("input.txt") >> n;
    std:: ofstream("output.txt") <<   (1 + abs(n)) * n / 2  + (n <= 0);
}
введи -5, получишь ответ -14,
и для 0, выдаст 1.
зачем там
C++
1
+ (n <= 0)
оно то как раз и портит ответ.

а то да, согласен, куда лучше)
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
12.08.2011, 22:36     Сумма цифр в числе #20
Цитата Сообщение от silentnuke Посмотреть сообщение
зачем там
+ (n <= 0)
оно то как раз и портит для отрицательных чисел.
Затем, что единичка тоже учитывается. Т.е. при 0 ответ будет 1, при - 1 = 0 и тд
И вообще...
http://********/index.asp?main=bstatus&id_t=2
Вряд ли с неправильным решением я бы пробрался на 11 место
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
12.08.2011, 22:41     Сумма цифр в числе #21
Цитата Сообщение от diagon Посмотреть сообщение
Затем, что единичка тоже учитывается. Т.е. при 0 ответ будет 1, при - 1 = 0 и тд
И вообще...
http://********/index.asp?main=bstatus&id_t=2
Вряд ли с неправильным решением я бы пробрался на 11 место
хм, скинул ради интереса оба вариант на тест, ибо засчитались, хД)
Сыроежка
Заблокирован
13.08.2011, 03:58     Сумма цифр в числе #22
Цитата Сообщение от silentnuke Посмотреть сообщение
введи -5, получишь ответ -14,
и для 0, выдаст 1.
зачем там
C++
1
+ (n <= 0)
оно то как раз и портит ответ.

а то да, согласен, куда лучше)
Все, что вам требуется, это объявить n как unsigned int, и не мучаться!
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
13.08.2011, 07:50  [ТС]     Сумма цифр в числе #23
всем спасибо)) сдал вот так:

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
#include <fstream>
using namespace std;
int main() {
     int n;
     int i;
      ifstream in( "input.txt");      
      if ( !in) return 1;           
      in >>n ;
      int b=0;
      if(n==0)
      {
              b=1;
              }
              else
              {
                  if (n<0)
                  {
                          for(i=1;i>=n;i--)
                          {
                          b=b+i;
                          }
                          
                          }
                          else{
      for(i=1;i<=n;i++)
      {
        b=b+i;             
                      }
                      }
                      }
      in.close();                       
      ofstream out( "output.txt");      
      if ( !out) return 1;              
      out << b;                        
      out.close();                      
      return 0;
}
silentnuke
13.08.2011, 15:11
  #24

Не по теме:

ужс, решение от diagon куда элегантнее было)

Dani
13.08.2011, 22:47
  #25

Не по теме:


Цитата Сообщение от silentnuke Посмотреть сообщение
Не по теме:
ужс, решение от diagon куда элегантнее было)
У него там сумма членов арифметической прогрессии.

silentnuke
13.08.2011, 23:20
  #26

Не по теме:

Цитата Сообщение от Dani Посмотреть сообщение

Не по теме:



У него там сумма членов арифметической прогрессии.

у него там решение поставленной задачи.

gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
13.08.2011, 23:39     Сумма цифр в числе #27
Цитата Сообщение от silentnuke Посмотреть сообщение
и для положительных, и для отрицтельных

C++
1
2
3
4
5
6
7
    int b=n;
    if(n<0)
        while(n++)
            b+=n;
    else if(n>0)
        while(n--)
            b+=n;
Насколько я понял тут не n++/n-- а ++n/--n надо...

Или b = n убрать...

Добавлено через 2 минуты
Цитата Сообщение от Ferk Посмотреть сообщение
всем спасибо)) сдал вот так:

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
#include <fstream>
using namespace std;
int main() {
     int n;
     int i;
      ifstream in( "input.txt");      
      if ( !in) return 1;           
      in >>n ;
      int b=0;
      if(n==0)
      {
              b=1;
              }
              else
              {
                  if (n<0)
                  {
                          for(i=1;i>=n;i--)
                          {
                          b=b+i;
                          }
                          
                          }
                          else{
      for(i=1;i<=n;i++)
      {
        b=b+i;             
                      }
                      }
                      }
      in.close();                       
      ofstream out( "output.txt");      
      if ( !out) return 1;              
      out << b;                        
      out.close();                      
      return 0;
}
if(n==0)
{
b=1;

Как же так?)))
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
13.08.2011, 23:41     Сумма цифр в числе #28
Цитата Сообщение от gretham Посмотреть сообщение
Насколько я понял тут не n++/n-- а ++n/--n надо...

Или b = n убрать...
да ну? с чего бы это?
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
13.08.2011, 23:55     Сумма цифр в числе #29
Цитата Сообщение от silentnuke Посмотреть сообщение
да ну? с чего бы это?
Извиняюсь, ошибся

Хотя разницы абсолютно никакой)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2011, 08:56     Сумма цифр в числе
Еще ссылки по теме:

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

Разность цифр в числе... - C++
Программа разделяет число на цифры и находит их разность, только вот неправильно находит..:( #include &lt;iostream&gt; using...

Количество цифр в числе - C++
Число указует пользователь и нужно через for цыкл

Найти сумму цифр в числе - C++
помогите пожалуйста написать программу которая выводит на екран суму цыфр в числе include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Проверка на различность цифр в числе - C++
Дано четырехзначное целое число. Определить все ли цифры числа различны. Пример входных данных 1234 1134 1214 Пример выходных...


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

Или воспользуйтесь поиском по форуму:
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.08.2011, 08:56     Сумма цифр в числе #30
Цитата Сообщение от Dani Посмотреть сообщение
У него там сумма членов арифметической прогрессии.
Так это и есть арифметическая прогрессия.
Yandex
Объявления
14.08.2011, 08:56     Сумма цифр в числе
Ответ Создать тему
Опции темы

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