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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2020, 20:18   #1
Alexander333
Пользователь
 
Регистрация: 06.10.2020
Сообщений: 19
По умолчанию Найти суму чисел которые входят в диапазон между двумя числами

Как найти количество чисел которые входят в диапазон между двумя числами?
Нужно вывести сумму количества этих чисел которые входят у промежуток(вывод промежутка с числами есть у коде).
Например пользователь ввел 2 числа(101 и 110), ему вывелся промежуток: 103, 104... 109. Как сделать так, что-бы сумировалось количество чисел, которые входят в диапазон, в данном примере(101 и 110) - 8 чисел.

Код:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, m, k = 0, p = 0, flag, i = 0, j, dig[10];
    do
    {
        printf("Enter m and n (m < n):\n");
        scanf("%d %d", &m, &n);
        if (m < n)
        {
            break;
        }
        else
            printf("\Error- m > n! Try again.\n\n");
    } while (k == 0);

    //printf("The sum of numbers in the interval [%d, %d] are: ... \n" );
    printf("Numbers in the interval [%d, %d] are:\n", m++, n--);
    for (k = m; k <= n; k++)
    {
        p = k;
        flag = 0;
        dig[i] = 0;
        i = 0;
        if (p < 10)
        { 
            continue;
        }   
        while (p > 0)
        { 
            dig[i] = p % 10;
            p = p / 10;
            i++;
        }
        dig[i] = -1;
        for (i = 0; dig[i] > -1; i++)
        { 
            for (j = i + 1; dig[j] > -1; j++)
            { 
                if (dig[i] == dig[j])
                { 
                    flag = 1;
                }
            }
        }

        if (flag == 0)
        {
            printf("%d\t", k);
        }
    }

    return 0;
}

Последний раз редактировалось Alexander333; 23.10.2020 в 21:17.
Alexander333 вне форума Ответить с цитированием
Старый 23.10.2020, 20:40   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Например так:

Код:
sum = 0;
<цикл>{
...
    if (<число> >= m and <число> <= n) sum = sum + <число>
...
}
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 23.10.2020, 21:18   #3
Alexander333
Пользователь
 
Регистрация: 06.10.2020
Сообщений: 19
По умолчанию

ViktorR, спасибо, а как вывести суму количества чисел в диапазоне?
Alexander333 вне форума Ответить с цитированием
Старый 23.10.2020, 21:53   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Да всё то же самое, что в примере уважаемого ViktorRа. Только увеличивать счетчик на единицу, а не на само число. И одно замечание: если судить по прошлой вашей теме, то число нельзя представлять массивом, но сейчас в коде как раз это и делается.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
масив из 14 чисел надо найти суму парных элементов масива aionpro Паскаль, Turbo Pascal, PascalABC.NET 8 05.12.2017 16:42
[C#] Почему не выводит количество элементов,лежащих между двумя числами? Baldr Помощь студентам 8 24.09.2017 19:20
Даны числа а1,..,а60. Организовать новый массив из тех чисел, которые входят в последовательность более одного раза (С) Мишаня@ Помощь студентам 0 01.12.2012 22:01
найти разницу между двумя датами, а результат записать в письменном виде, так чтобы было согласование между падежами KatanaZh Microsoft Office Excel 15 27.11.2012 00:11
задача на множества - вывести в алфавитном порядке звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни клавдий Помощь студентам 1 30.03.2012 10:39