Помогите нужна программа на С ++ Найти количество натуральных трехзначных чисел, состоящих из трех разных цифр, но содержат 0 можно код или словесный алгоритм (блок-схему)
int one[2]; //Обьявляем массив, в котором будут храниться части числа по отдельности
one[0] = num%10; //получаем первую цифру трехзначного числа
one[1] = num/10; //получаем вторую цифру трехзначного числа
one[1] = one[1]%10; //все еще получаем вторую цифру трехзначного числа
one[2] = num/100; // получаем третью цифру трехзначного числа
if(one[0]!=one[1]&&one[0]!=one[2]&&one[1]!=one[2]){// Если все числа разные то..
if(one[0]==0 || one[1]==0 ||one[2]==0){return 1;// Если есть 0 вернет 1 (условия задачи выполнены)
}else{return 0;}//Если нет 0 в числе вернет 0
}else{return 0;}// Если есть повтор числа то вернет 0
}//Кратко: если число соответствует условию задачи вернет 1 иначе 0
int main() {
//cout<<checkNum(220);//Проверка числа 220 выведет 0 (НЕ соответствует условию)
//cout<<checkNum(210);//Проверка числа 210 выведет 1 (соответствует условию)
//Простой пример работы программы используя checkNum(число); \/
int numbers[3];
numbers[0] = 220;
numbers[1] = 120;
numbers[2] = 156;
numbers[3] = 000;
int scetchik=0;
for(int i = 0; i < 4; i++){
scetchik = scetchik + checkNum(numbers[i]);
}
cout<<" Всего чисел соответствующих условию: "<< scetchik;
return 0;
}
Объяснение:
Привет! Т.к. ты не назвал способ ввода информации в программу в качестве примера я объявил массив numbers, в который поместил числа. Чтобы проверить соответствие числа условию задачи нужно поместить его в функцию checkNum(твое число), если число соответствует условию задачи функция вернет 1, иначе 0. Тебе остается только переделать пример под твой способ ввода чисел. Если есть вопросы - задавай. Удачи! (в программе есть комментарии, которые помогут тебе понять принцип ее работы )
Answers & Comments
Ответ:
#include <iostream>
using namespace std;
int checkNum(int num){//Функция проверки числа
int one[2]; //Обьявляем массив, в котором будут храниться части числа по отдельности
one[0] = num%10; //получаем первую цифру трехзначного числа
one[1] = num/10; //получаем вторую цифру трехзначного числа
one[1] = one[1]%10; //все еще получаем вторую цифру трехзначного числа
one[2] = num/100; // получаем третью цифру трехзначного числа
if(one[0]!=one[1]&&one[0]!=one[2]&&one[1]!=one[2]){// Если все числа разные то..
if(one[0]==0 || one[1]==0 ||one[2]==0){return 1;// Если есть 0 вернет 1 (условия задачи выполнены)
}else{return 0;}//Если нет 0 в числе вернет 0
}else{return 0;}// Если есть повтор числа то вернет 0
}//Кратко: если число соответствует условию задачи вернет 1 иначе 0
int main() {
//cout<<checkNum(220);//Проверка числа 220 выведет 0 (НЕ соответствует условию)
//cout<<checkNum(210);//Проверка числа 210 выведет 1 (соответствует условию)
//Простой пример работы программы используя checkNum(число); \/
int numbers[3];
numbers[0] = 220;
numbers[1] = 120;
numbers[2] = 156;
numbers[3] = 000;
int scetchik=0;
for(int i = 0; i < 4; i++){
scetchik = scetchik + checkNum(numbers[i]);
}
cout<<" Всего чисел соответствующих условию: "<< scetchik;
return 0;
}
Объяснение:
Привет! Т.к. ты не назвал способ ввода информации в программу в качестве примера я объявил массив numbers, в который поместил числа. Чтобы проверить соответствие числа условию задачи нужно поместить его в функцию checkNum(твое число), если число соответствует условию задачи функция вернет 1, иначе 0. Тебе остается только переделать пример под твой способ ввода чисел. Если есть вопросы - задавай. Удачи! (в программе есть комментарии, которые помогут тебе понять принцип ее работы )