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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2017, 22:01   #1
Ace_400
 
Регистрация: 08.11.2017
Сообщений: 9
По умолчанию [C++] Найти ,сколько чисел меньших X (икс) имеют в своей десятичной записи только цифры 0 и 1

Реально ли написать эту программу без функций и массивов?
Ace_400 вне форума Ответить с цитированием
Старый 08.11.2017, 22:06   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да. Зачем тут массив?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.11.2017, 12:19   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

А минимальное значение ? От 0 до Х или от -∞ до Х ?
digitalis вне форума Ответить с цитированием
Старый 09.11.2017, 12:27   #4
Ace_400
 
Регистрация: 08.11.2017
Сообщений: 9
По умолчанию

Да,бесконечность
Ace_400 вне форума Ответить с цитированием
Старый 09.11.2017, 12:28   #5
Ace_400
 
Регистрация: 08.11.2017
Сообщений: 9
По умолчанию

Я не могу справится без массивов и функций.Поможете как сделать эту прогу без них?
Ace_400 вне форума Ответить с цитированием
Старый 09.11.2017, 12:40   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Легко в цикле перебором всех возможных чисел от 1 до x проверять какие из них нужные. Труднее, но красивее воспользоваться тем фактом, что в n-значном числе таких n-значных чисел 2^(n-1). Основная трудность - проверить с чего начинается это число, и если с 1 - а какие дальше цифры ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.11.2017, 12:55   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А с массивом как справились?)

Про функции вообще непонятно в чем сложность, все что угодно можно сделать без функций, вопрос только в читаемости/качестве кода )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.11.2017, 13:28   #8
Ace_400
 
Регистрация: 08.11.2017
Сообщений: 9
По умолчанию

Я не знаю как ее оформить,есть предложения?
Ace_400 вне форума Ответить с цитированием
Старый 09.11.2017, 14:08   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ace_400 Посмотреть сообщение
Найти ,сколько чисел меньших X (икс) имеют в своей десятичной записи только цифры 0 и 1
во-первых, в такой формулировке - бесконечное число.
даже если не учитывать вещественные числа.
если брать только отрицательные.
т.е. задание изначально сформулировано криво и неверно.

хорошо. допустим, задание звучит так:
Найти, сколько НАТУРАЛЬНЫХ чисел меньших X (икс) имеют в своей десятичной записи только цифры 0 и 1

тогда можно воспользоваться советом (с) Аватар
Цитата:
Сообщение от Аватар Посмотреть сообщение
Легко в цикле перебором всех возможных чисел от 1 до x проверять какие из них нужные.
что не получается? или Вы просто халяву ждёте?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2017, 14:18   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

впрочем, этот алгоритм настолько прост, что даже я, не зная C++, могу его написать (за 9 минут ).

попробуйте такой код:
Код:
#include <iostream>
using namespace std;

int main() {
	int X;
	cout << "введите число X:";
	cin >> X;
	int count=0;
	for (int i = 1; i < X; i++){
		int t=i;
		int not_zero_and_one=0;
		while(t>0 && not_zero_and_one==0){
			if((t%10)>1){
				not_zero_and_one=1;
				break;
			}
			t/=10;
		}
		if(not_zero_and_one==0){
			cout << " " << i << " ";
			count++;
		}
	}	
	cout << "\nколичество = "<<count;

	 return 0;
}
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Машина Тьюринга: Постройте функциональную схему машины, реализующей переход от десятичной записи числа n к десятичной записи (n-1) Елешечка Помощь студентам 0 02.04.2014 21:43
Дан массив из десяти целых чисел.Определите,сколько элементов этого массива имеют максимальное значение ( Паскаль ) Diana93 Паскаль, Turbo Pascal, PascalABC.NET 3 13.03.2014 10:05
Напечатать все цифры десятичной записи чисел 2^500 и 1!+2!+3!+...+100!. dmitriy20104 Паскаль, Turbo Pascal, PascalABC.NET 3 21.08.2012 07:00
Все ли пары элементов линейного массива имеют только одну общую цифру в своей записи? с++ agent007 Visual C++ 3 07.07.2010 02:36
Ввести несколько чисел (кол-во чисел запрашивать с экрана). Определить, сколько чисел, меньших заданного Lirika Помощь студентам 0 08.05.2010 21:39