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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
#1

найти количество страниц в книге - C++

16.09.2010, 11:38. Просмотров 1913. Ответов 15
Метки нет (Все метки)

вот такая задачка, хм... очень интересная и очень не решаемая!
каждая страница в книге перенумерована с первой по последнюю. Сумма всех цифр номеров =n (1+2+3+4+5+6+7+8+9+(1+0)+(1+1)+(1+2)+..... всего страниц в книге <=9999 написать программу для нахождения количества страниц в этой книге!
использовать только оператор цикла, условный оператор (больше не проходили)
то есть мы вводим какое то число он выводит колво страниц , а число есть сумма цифр номеров страниц
писать на С++
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2010, 11:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос найти количество страниц в книге (C++):

В массиве записаны оценки, найти количество пятерок, количество четверок, количество троек и количество двоек - C++
В массиве записаны оценки по иностранному языку каждого из 22 учеников класса. Определить количество пятерок, количество четверок,...

Найти причины и способы исправления ошибок в коде (упражнения по книге Стивена Праты) - C++
В общем так . Пробую учить плюсы по книжке Прата . Пробую недавно , и потому полный нуб. От того и нумбский вопрос . В книжке написано что...

Найти количество символов в строке, найти заданные буквы, разделить количество букв на количество символов - C++
Написать код который сперва подсчитывает количество символов в строке а потом из этих находит буквы (a,e,y,u,i) и делит количество букв на...

Ook: Автор, Название, Издательство, Год, Количество страниц. Создать массив объектов. Вывести: - C++
Book: Автор, Название, Издательство, Год, Количество страниц. Создать массив объектов. Вывести: а) список книг заданного...

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

Описать шаблон класса АТД: "Участник очереди на печать издания: фамилия, телефон, количество страниц" - C++
Шаблоны классов с++. Нужно доделать задачу. 1. Описать шаблон класса АТД: &quot;Участник очереди на печать издания: фамилия, телефон,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 11:54 #2
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
#include <iostream>
 
using namespace std;
 
int digitSum(int n)
{
    int res = 0;
    while(n)
    {
        res += n%10;
        n /= 10;
    }
    return res;
}
 
int main()
{
    int n;
    cin >> n;
    int cnt = 0, i = 0;
    while(cnt < n)
    {
        i++;
        cnt += digitSum(i);
    }
    cout << i << endl;
    system("pause");
}
0
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
16.09.2010, 11:59  [ТС] #3
не понятна 5 строчка и 27)
0
matroskin
4 / 4 / 1
Регистрация: 15.09.2010
Сообщений: 5
16.09.2010, 12:42 #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
#include <iostream>
 
using namespace std;
const int n = 9999;
 
int main()
{
    cout<<"Vvedite chislo: ";
    int index = 0;
    int p;
    cin >> p;
    int sum = 0;
    int mass[n];
    for (int i = 0; i<n;i++)
    {
        mass[i]=i+1;
    }
    for (int j = 0;sum < p; j++)
    {   
        sum += mass[j];
        if(sum>p)
            continue;
        ++index;
 
    }
    cout<<"kolvo stranic: "<<index;
    cin.get();
    cin.get();
    return 0;
}
Хохол, у тебя не совсем правильно. Например, при вводе цифры 7 у тебя выводит 4 страницы, хотя 1+2+3+4 = 10
0
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
16.09.2010, 13:00 #5
Цитата Сообщение от wild_flower Посмотреть сообщение
число есть сумма цифр номеров страниц
7 - некорректный тест.
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.09.2010, 13:08 #6
Хохол,
Если они не проходили дальше циклов и условных операторов, то вряд ли дошли до функций..
0
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
18.09.2010, 01:40  [ТС] #7
программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 11 страница это +2
12 стр это 1+2=3 значит 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+....
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2010, 01:51 #8
wild_flower, считает верно. для 11 страниц по крайней мере точно)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
     int n;
     std::cout<<"Enter num of pages: ";
     std::cin>>n;
     int pages_sum=0;
     for(int i=1; i<=n; ++i)
     {
          int sum=0;
          int ind=i;
          while(ind)
          { 
              sum+=ind%10;
              ind/=10;
          }
          pages_sum+=sum;
      }
      std::cout<<pages_sum<<'\n';
      return 0;
}
А вот и немного поправленная программа Хохол. Тоже теперь считает верно. Была опечатка в цикле.

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
#include <iostream>
 
using namespace std;
 
int digitSum(int n)
{
        int res = 0;
        while(n)
        {
                res += n%10;
                n /= 10;
        }
        return res;
}
 
int main()
{
        int n;
        cin >> n;
        int cnt = 0, i = 0;
        while(i < n)
        {
                i++;
                cnt += digitSum(i);
        }
        cout << cnt << endl;
        system("pause");
}
0
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
18.09.2010, 02:16 #9
Все правильно у меня. В задаче спрашивают количество страниц по сумме цифр, а не наоборот.
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.09.2010, 02:33 #10
Хохол, ага. понял. ссори)

Но судя вот по этому:

программка написана не правильно-она считает сумму страниц. а надо сумму цифр страниц! то есть 11 страница это +2
12 стр это 1+2=3 значит 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+....
Я даже не знаю...

Собственно кажется понял что не прав.. Еще раз извиняюсь.

Тогда..

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
#include <iostream>
 
int main()
{
     int n;
     std::cout<<"Enter sum of numbers of pages: ";
     std::cin>>n;
     int pages_sum=0;
     int i;
     for(i=1; pages_sum<n; i++)
     {
          int sum=0;
          int ind=i;
          while(ind)
          { 
              sum+=ind%10;
              ind/=10;
          }
          pages_sum+=sum;
          if(pages_sum>n)
             --i;
      }
      std::cout<<i<<'\n';
      return 0;
}
0
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:43  [ТС] #11
пожалуйста можно комменты к программе, что зачем и почему...

Добавлено через 3 минуты
Lavroff, комменты сможешь добавить)
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.09.2010, 15:45 #12
Ему напишы ещё и обясни,не многовато ли просите ?
0
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
19.09.2010, 15:47  [ТС] #13
Asics^, если человек может и он эти горит заниматься- посему бы и нет?
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.09.2010, 15:49 #14
Цитата Сообщение от wild_flower Посмотреть сообщение
посему бы и нет?
Потомучто он тратит на вас своё время.
1
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.09.2010, 15:52 #15
C
1
wild_flower
,
Никому здесь не "горит", как вы выразились, решать чужие домашние задания.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2010, 15:52
Привет! Вот еще темы с ответами:

В файле с целыми числами найти количество парных, количество удвоенных нечетных, количество квадратов нечетных - C++
Задано файл, компонентами которого являются целые числа. Найти: a) количество парных среди компонент файла; b) количество...

Найти количество пятниц с 1 января 2001 по 31 декабря 2010. И найти количество пятниц, 13 - C++
Если кто знает как решить помогите

Найти через индекс количество отрицательных и количество положительных элементов массива - C++
Нужно найти через индекс количество отрицательных и количество положительных элементов.

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


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

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

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