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

Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двоичный файл. Написать функцию, которая возвращает наибольшее отрицательное число http://www.cyberforum.ru/cpp-beginners/thread905805.html
Дан открытый двоичный файл из целых чисел (4 байта на каждое число). Написать функцию int max_negative (fstream &f), которая возвращает наибольшее отрицательное число (имеется ввиду, по модулю)...
C++ Комментарии к коду #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<malloc.h> int nun, neq; double **sys, *back; int moreeq = 0; void solution(); http://www.cyberforum.ru/cpp-beginners/thread905799.html
C++ Реализовать контейнерный класс и необходимые функции - мангипуляторы над его элементами
Реализовать контейнерный класс и необходимые функции - мангипуляторы над его элементами! Описать параметризованный класс стека моделирующий работу обычного канкулятора с основными арифметическими...
C++ Запросить у пользователя сокращенное имя и напечатать соответствующее ему полное (Саша -> Александр)
составить программу,которая спрашивала бы сокращенное имя и печатала полное имя( например,Саша- Александр )для трех ваших друзей. Ввод незнакомого имени должен провоцировать заявление типа: " я с...
C++ Массивы и функции как параметры http://www.cyberforum.ru/cpp-beginners/thread905751.html
Из главной функции нужно вызвать промежуточную функцию с 3 параметрами - (введённый двумерный массив, кол-во элементов, функция). Последний параметр действие(функция) которое нужно выполнить над...
C++ Где определён стандартный поток stdin? Где определён стандартный поток stdin, в какой библиотеке?. Смотрел в инете ничего не нашёл. ошибка такого рода: «stdin» undeclared (first use in this function). подробнее

Показать сообщение отдельно
Genn55
372 / 219 / 41
Регистрация: 26.12.2012
Сообщений: 718
20.06.2013, 02:13
Thinker, вы правы в этом цикле у меня ошибка
C++
1
for (int i = 1; i < 9; ++i)
правильно будет
C++
1
for (int i = 1; i <= 9; ++i)
Я с вашего позволения подправил ваш код,если я все правильно понял то он работает и с 0.0 же тоже цифра.
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
#include <iostream>
#include<stdio.h>
using namespace std;
 
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
void Print(int a);
 
int main()
{
int a;
cout << " Enter A"<<"\n";
cin >> a;
cout << "   Otvet  " << "\n\n";
Print(a);
return 0;
}
void Print(int a)
{
    {
   int i, j, k;
   if(a < 3 || a > 24)
   cout << " No!!"<<"\n";
    for(i = MAX(0, a - 20); i <= MIN(7, a - 2); ++i)
      for(j = i + 1; j <= MIN(8, a - i - 1); ++j)
         for(k = j + 1; k <= MIN(9, a - i - j); ++k)
            if (i + j + k == a)
            {
               printf("%d%d%d\n", i, j, k);
               printf("%d%d%d\n", i, k, j);
               printf("%d%d%d\n", j, i, k);
               printf("%d%d%d\n", j, k, i);
               printf("%d%d%d\n", k, i, j);
               printf("%d%d%d\n", k, j, i);
            }
}
}
Но в этом случае выигрыша я не заметил.Возможно будет заметно при больших числах.И вы не смогли бы мне по простому на пальцах объяснить работу макрокоманд.Я новичок в программировании, изучаю самостоятельно и спрашивать не у кого.Читаю ,но пока толку мало.Пробовал сам создать макрокоманду ничего не получилось,а готовые работают.
C++
1
2
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
Смысл понятен,а как они работают в программе так и не понял и в каких случаях их применять тоже пока не понимаю.Если не трудно пожалуйста объясните.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru