Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
#1

Среди всех N значных чисел указать те, сумма цифр которых равна заданному числу К

11.01.2014, 00:35. Просмотров 1084. Ответов 3
Метки нет (Все метки)

Не могу разобраться.... помогите! Код работает, но я видимо не правильно понимаю условие задание.. То есть, по условию, я должен вводить число n - это порядок числа, затем число k - это сумма. Затем вводим массив с числами, и если в массиве есть подходящие числа и их сумма равна сумме числа k, то массив выводит последовательно эти числа... я пытался подгонять, но у меня всегда вылетает сообщение Таких чисел нет! Может кто объяснить? Или привести пример ввода чисел, а то, кажется, я что то неправильно понимаю...


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
38
39
40
41
42
#include <iostream>
const int sz = 5;
using namespace std;
 
int main()
{
    int i = 0, a[sz], b[sz], sum = 0, k, n, l = 0, z = 0;
    cout << "Vvedite n: ";
    cin >> n;
    cout << "Vvedite k: ";
    cin >> k;
    cout << endl;
 
    cout << "Vvedite elementi massiva: ";
    for (int i = 0; i<sz; i++)
        cin >> a[i];
 
    for (int j = 0; j<sz; j++)
    {
        int p = a[j];
        sum = 0;
        z = 0;
        while (p != 0)
        {
            sum += p % 10;
            p /= 10;
            z += 1;
        }
        if (sum == k&&z == n)
            b[l++] = a[j];
    }
    if (l == 0)
        cout << "Takix chisel net!\n";
    else
    {
        cout << "Rezultat: \n";
        for (int q = 0; q<l; q++)
            cout << b[q] << " ";
    }
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 00:35
Ответы с готовыми решениями:

Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.
Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу...

Указать индексы и напечатать те элементы целочисленного массива X, сумма цифр которых равна заданному числу M
Доброе утро всем)))) Помогите плиз с задачей. Нужно Указать индексы и...

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

Подсчитать количество четырёхзначных чисел, сумма цифр которых равна заданному числу
Всем доброго дня, уважаемые. Очень нужна помощь с решением задачи на классы....

Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N
1. Определить количество натуральных трехзначных чисел, сумма цифр которых...

3
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
Завершенные тесты: 1
11.01.2014, 00:37 #2
Цитата Сообщение от Trombovoz Посмотреть сообщение
я видимо не правильно понимаю условие задание
Цитата Сообщение от Trombovoz Посмотреть сообщение
Среди всех N значных чисел указать те, сумма цифр которых равна заданному числу К
Это значит, что если N = 4 и K = 5, то нужно для всех четырехзначных чисел (от 1000 до 9999) нужно найти все, сумма цифр которых равна 5 (5000 например).
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5116 / 1554 / 950
Регистрация: 23.01.2011
Сообщений: 3,182
Завершенные тесты: 1
11.01.2014, 12:28 #3
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
#include <iostream>
#include <cmath>
 
int main()
{
    size_t N;
    std::cout << "N: ";
    std::cin >> N;
 
    size_t K;
    std::cout << "K: ";
    std::cin >> K;
 
    size_t begin(pow(10., N - 1));
    size_t finish(pow(10., N));
    for (size_t currentNumber = begin; currentNumber < finish; currentNumber++) {
        size_t tempNumber(currentNumber);
        size_t digitsSum(0);
        while (tempNumber) {
            digitsSum += tempNumber % 10;
            tempNumber /= 10;
        }
        if (digitsSum == K) {
            std::cout << currentNumber << ' ';
        }
    }
    std::cout << std::endl;
 
    std::system("pause");
    return 0;
}
1
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
12.01.2014, 00:09  [ТС] #4
спасибо) понял)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 00:09

Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N
Определить количество трехзначных натуральных чисел, сумма цифр которых равна...

Определить количество трёхзначных натуральных чисел сумма цифр которых равна заданному числу
Всем Привет! Помогите пожалуйста написать простенькую программу без сильно...

Из всех пар простых чисел, сумма которых равна заданному числу, найти пару, содержащую наименьшее простое число
Известно, что любое чётное число, большее 2, представимо в виде суммы 2 простых...


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

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

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