С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Chuba
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 11
#1

2 цикла в параметре - C++

28.11.2012, 23:37. Просмотров 263. Ответов 1
Метки нет (Все метки)

На промежутке [100, n] вывести все числа, составленные с цифр a,b,c. Или предложите свой код программы для выведения КОЛИЧЕСТВА этих чисел.

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;
#include <conio.h>
#include <math.h>
void main(){
int a,b,c,n,k=0,y=0,i,q,h=0,x=0;
char m;
cout<<"a:"; cin>>a;
cout<<"b:"; cin>>b;
cout<<"c:"; cin>>c;
cout<<"N:"; cin>>n;
for(i=100; i<=n; i++) {
x=i;
while (x/10>0) {
x=x/10;
k=k+1;}
y=i;
while (k!=0) {
q=y%10;
y=y/10;
k=k-1;
if (q!=a && q!=b && q!=c) goto m;
}
printf("\t %d", i);
m:;
}
getch();
}
Что здесь не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 23:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 2 цикла в параметре (C++):

Два цикла в параметре - C++
На промежутке найти количество чисел, составленных с цифр a,b,c. #include &lt;iostream&gt; using namespace std; #include &lt;conio.h&gt; ...

Ошибка в передаваемом параметре функции - C++
Добрый вечер! Помогите, пожалуйста, устранить ошибку. есть большая программа, решающее интегральное уравнение Фредгольма. Что могла - нашла...

Наследуемый класс в параметре шаблона - C++
Нужно ограничить классы, передаваемые в параметры шаблона до классов, наследуемых от заданного. Пример- два класса : Класс...

Двумерный массив в параметре класса - C++
Есть класс, одним из параметров которого нужно сделать массив с тремя столбцами и неизвестным количеством строк. Как потом заполнить этот...

Соединение строк в параметре функции - C++
Здравствуйте! Не подскажете, возможно ли такое реализовать: void Fun(char* c) { cout &lt;&lt; c; } ..... Fun(&quot;Hello&quot; + 32 + &quot;...

Указатель/ссылка в параметре функции - C++
Здравствуйте. Опять появился вопрос. Почему автор книги, которую я читаю, постоянно использует в параметрах функции ссылку/указатель и...

1
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147
29.11.2012, 05:37 #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#define MNOGO 100000
 
int main() {
    int x;
    printf ("Enter the right limit: ");
    scanf("%d", &x);
    int i;
    int a, b, c;
    printf ("Enter a, b & c: ");
    scanf ("%d%d%d", &a, &b, &c);
    int mass[MNOGO], len = 1;
    mass[0] = 0;
    int num = 0;
    for (i = 0; i < len; ++i) 
        if (mass[i] <= x) {
            if (mass[i] == 0) {
                if (a != 0) {
                    mass[len] = mass[i] * 10 + a;
                    ++len;
                }
                if (b != 0) {
                    mass[len] = mass[i] * 10 + b;
                    ++len;
                }
                if (c != 0) {
                    mass[len] = mass[i] * 10 + c;
                    ++len;
                }
            }
            else {
                mass[len] = mass[i] * 10 + a;
                mass[len + 1] = mass[i] * 10 + b;
                mass[len + 2] = mass[i] * 10 + c;
                len += 3;
            }
            if (mass[i] >= 100) {
                printf ("%d ", mass[i]);
                ++num;
            }
        }
    printf ("\nTotal: %d numbers.\n", num);
 
 
    return 0;
}
Вот решение в лоб. Оно не учитывает, что цифры a, b, c могут совпадать. Но это можно легко учесть.

Не по теме:

Жду рекурсивного решения от easybudda



Добавлено через 10 минут
И, вероятно, у вас просто не работает goto. фуфуфу использовать это. Вы же не быдлокодер, правда?
Если приглядеться, то даже просматривается логика. Но присматриваться не хочется, т.к. ощущения будто вы писали это пяткой. Попробуйте использовать break, вместо goto в общем. И еще надо k периодически обнулять.

Добавлено через 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
#include <iostream>
#include <math.h>
using namespace std;
void main(){
int a,b,c,n,k=0,y=0,i,q,h=0,x=0;
cout<<"a:"; cin>>a;
cout<<"b:"; cin>>b;
cout<<"c:"; cin>>c;
cout<<"N:"; cin>>n;
int par;
for(i=100; i<=n; i++) {
x=i;
k = 0;
while (x>0) {
x=x/10;
k=k+1;}
y=i;
while (k!=0) {
q=y%10;
y=y/10;
k=k-1;
par = 0;
if (q!=a && q!=b && q!=c) { par = 1; break;}
}
if (par == 0) {cout <<i; cout <<" ";}
}
cin >>i;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 05:37
Привет! Вот еще темы с ответами:

Суммировать слагаемые при фиксированном параметре x - C++
Пожалуйста помогите!!!!!!!!!!!!!!!!!! Я здесь пытался что-то сделать но увы((((( черновая работа, если нечего неправильно сделайте...

Константность ссылки в параметре при перегрузке оператора - C++
Здравствуйте! При создании класса комплексные числа операцию сложения определяю так complex operator + (complex&amp;a) { return...

О memcopy, а именно об ее первом параметре void *dst - C++
Доброго времени суток. Не подскажете, как можно модернезировать код, что бы обойтись без лишнего new char, раз уж там все равно CString...

Как использовать указатель на переменную во входящем параметре функции? - C++
Нашел код для решение гиперболического уравнение с помощью разностных схем. Возникли некоторые вопросы. Вот сам код: double...


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

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

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