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

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

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

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

28.11.2012, 20:18. Просмотров 520. Ответов 19
Метки нет (Все метки)

На промежутке [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
29
#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;
    char m;
    cout<<"a:"; cin>>a;
    cout<<"b:"; cin>>b;
    cout<<"c:"; cin>>c;
    cout<<"N:"; cin>>n;
    for(i=100; i<=n; i++) {
        int 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;
            else h=h+1;
            m:;
        }
        printf("\t %d", h);
    }
    getch();
}
Что здесь не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 20:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Два цикла в параметре (C++):

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

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

Совместить два цикла - C++
Лаба по инфе на совершенные числа, проверка и вывод всех в диапазоне. Пашет нормально, но учитель сказал совместить два похожих цикла в...

Как задать два условия для цикла - C++
т.е. мне нужно чтобы программа отобрала слова которые имеют 3 буквы и 2 гласных к примеру

Как работают два цикла for ? поясните код - C++
кусочек кода :) for (int i=0; i&lt;n; i++) for (int j=i; j&lt;n; j++) if (A&gt;max) Переменная i стартует с 0, происходит проверка 0 меньше...

как написать данную прогу через два цикла - C++
есть код сказали сделать его через два цикла for и while. я не понимаю как написать еще один цикл он будет дублировать первый. или надо...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Issues
28.11.2012, 20:21
  #2

Не по теме:

void main()
goto
printf

valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.11.2012, 06:34 #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
#include <iostream>
 using namespace std;
 #include <conio.h>
 #include <math.h>
 int main(){
 int a,b,c,n,k=0,y=0,i,q,h=0;
 cout<<"a:"; cin>>a;
 cout<<"b:"; cin>>b;
 cout<<"c:"; cin>>c;
 cout<<"N:"; cin>>n;
 for(i=100; i<=n; i++) {
 k=i;  
 while (k>0) {
 q=k%10;
 if (q!=a && q!=b && q!=c)
     break; 
 k/=10;
 }
 if(!k)
     h++;
 }
 cout<<h<<endl;
 getch();
 return 0;
 }
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
29.11.2012, 06:36 #4
Цитата Сообщение от SeregaC++ Посмотреть сообщение
printf
тебе чем не угодил
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 07:02 #5
Chuba, цикл не может быть в параметре. Параметр - это всего лишь некоторая величина, а цикл - это потенциально многократный повтор неких операций. Попробуй внутри 38 градусов Цельсия 10 раз хлопнуть дверью? Не получится, в значение температуры ты даже не залезешь и не найдёшь там дверей. А ведь 10 раз хлопнуть дверью - это всего лишь один цикл.
Issues
29.11.2012, 13:56
  #6

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
тебе чем не угодил
ну раз это С++, то и вывод нужно по С++, а не С.

ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
29.11.2012, 14:34 #7
Цитата Сообщение от SeregaC++ Посмотреть сообщение
ну раз это С++, то и вывод нужно по С++, а не С.
Это железное правило или все таки пожелание
мне например гораздо удобней выводить printf значение в разном виде одной и той же переменной
C++
1
2
char a='A';
printf ("%c %x %d",a,a,a);
с << так красиво не получится
далее printf всегда выводит в один и тот же поток (консоль у больших компьютеров, порт у микроконтроллеров)
<< я могу послать в любой поток который определю сам
так что они прекрасно дополняют друг друга и противопоставлять я бы их не стал
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 16:00 #8
Цитата Сообщение от Chuba Посмотреть сообщение
Что здесь не так?
метка
Цитата Сообщение от Chuba Посмотреть сообщение
m:
переменная
Цитата Сообщение от Chuba Посмотреть сообщение
char m;
по твоему язык обладает излишними и ненужными инструкциями? Чем тебе goto так насолил?
Цитата Сообщение от SeregaC++ Посмотреть сообщение
goto
Добавлено через 4 минуты
ValeryS, кстати совсем недавно тут писала программку и споймала то ли баг, то ли сама не знаю что. Надо было напечатать байт (нуль терминированная последовательность) в хекс виде, так вот используя printf("%X", *string++) все работало как и ожидалось, а используя std::cout << std::hex << (int)*string++ некоторые байты были представлены как отрицательные int целые длиной по 4 байта. Такие вот дела.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
29.11.2012, 16:04 #9
Цитата Сообщение от activnaya Посмотреть сообщение
std::cout << std::hex << (int)*string++ некоторые байты были представлены как отрицательные int целые длиной по 4 байта.
ну потому что к int приводила
попробуй unsigned char
<< щибко умный он сам знает что и как выводить, но когда нужен нестандартный вывод, приходится попрыгать
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 16:09 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
мне например гораздо удобней выводить printf значение в разном виде одной и той же переменной
это отлично делается манипуляторами.
C++
1
2
3
int x;
std::cin>>x;
std::cout<<ios::dec<<x<<" "<<ios::hex<<x<<std::endl;
выведет два разных представления x. Но запомнить осмысленные имена модификаторов проще, чем коды спецификаторы для printf.

Добавлено через 2 минуты
d% - это decemal, или double? Я вот не могу этого запомнить, хоть ващето на память и не жалуюсь. Мои проги до сих пор помещаются в ней целиком, я этим пользуюсь, чтоб не тратить время, краску и бумагу на распечатку листингов. За тысячу строк вышел в первую же неделю ещё в 1995-м.
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 16:10 #11
Цитата Сообщение от ValeryS Посмотреть сообщение
ну потому что к int приводила
попробуй unsigned char
тогда выводился символ, а не его хекс код.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 16:13 #12
Цитата Сообщение от ValeryS Посмотреть сообщение
далее printf всегда выводит в один и тот же поток (консоль у больших компьютеров, порт у микроконтроллеров)
<< я могу послать в любой поток который определю сам
std::cout - это тоже всегда один поток.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
29.11.2012, 16:13 #13
Цитата Сообщение от taras atavin Посмотреть сообщение
Но запомнить осмысленные имена модификаторов проще, чем коды спецификаторы вывода.
кому как

Цитата Сообщение от taras atavin Посмотреть сообщение
это отлично делается манипуляторами.
я этого не отрицаю
но мне например не доставляет удовольствие читать весь этот забор
Цитата Сообщение от taras atavin Посмотреть сообщение
std::cout<<ios::dec<<x<<" "<<ios::hex<<x<<std::endl;
вспоминая что << вывод а не сдвиг
как например красиво написать через << ?
C++
1
printf("x",a<<4);
но это мое личное мнение, никому не навязываю
activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
29.11.2012, 16:14 #14
вот и скрин
Миниатюры
Два цикла в параметре  
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 16:16 #15
Цитата Сообщение от ValeryS Посмотреть сообщение
но это мое личное мнение, никому не навязываю
Можешь - юзай. Но это тоже плюсы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 16:16
Привет! Вот еще темы с ответами:

Вывести полуокружности, повторяя по два раза с каждой стороны до конца цикла (графическое задание) - C++
Доброй ночи, ребят следующий код выводит полуокружности на левой стороне, в задании нужно чтобы они полуокружности чередовались по два...

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

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

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


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

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

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