Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
1

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

12.08.2011, 20:22. Просмотров 1789. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2011, 20:22
Ответы с готовыми решениями:

Рекурсия: количество цифр в числе, сумма цифр и реверс числа
Вот задание: Написать программу, которая запрашивает у пользователя целое...

Определить сколько цифр в заданном натуральном числе, и чему равна сумма его цифр
Дано натуральное число n (n&lt;=100). Определить сколько цифр в числе n, чему...

Дано натурально число n. Сколько цифр в этом числе. Чему равняется сумма цифр. Найти первую цифру
Желательно в С

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

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

29
silentnuke
Android Programmer
139 / 140 / 10
Регистрация: 08.12.2010
Сообщений: 421
12.08.2011, 22:41 21
Цитата Сообщение от diagon Посмотреть сообщение
Затем, что единичка тоже учитывается. Т.е. при 0 ответ будет 1, при - 1 = 0 и тд
И вообще...

Вряд ли с неправильным решением я бы пробрался на 11 место
хм, скинул ради интереса оба вариант на тест, ибо засчитались, хД)
0
Сыроежка
Заблокирован
13.08.2011, 03:58 22
Цитата Сообщение от silentnuke Посмотреть сообщение
введи -5, получишь ответ -14,
и для 0, выдаст 1.
зачем там
C++
1
+ (n <= 0)
оно то как раз и портит ответ.

а то да, согласен, куда лучше)
Все, что вам требуется, это объявить n как unsigned int, и не мучаться!
0
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;
}
0
silentnuke
13.08.2011, 15:11
  #24

Не по теме:

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

0
Dani
13.08.2011, 22:47
  #25

Не по теме:


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

0
silentnuke
13.08.2011, 23:20
  #26

Не по теме:

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

Не по теме:



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

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

0
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;

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

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

Хотя разницы абсолютно никакой)
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.08.2011, 08:56 30
Цитата Сообщение от Dani Посмотреть сообщение
У него там сумма членов арифметической прогрессии.
Так это и есть арифметическая прогрессия.
0
14.08.2011, 08:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2011, 08:56

Сумма половины цифр в числе
Дано натуральное число, требуется найти сумму первой половины цифр числа. Если...

Выяснить в каком числе сумма цифр больше
1) Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше....

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


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

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

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