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

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

Войти
Регистрация
Восстановить пароль
 
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
#1

Найти все четырёхзначные числа - C++

09.02.2010, 13:27. Просмотров 926. Ответов 11
Метки нет (Все метки)

Всем привет, объясните мне пожалуйста задачу, она заключается в том, что бы найти все четырёхцыфровые числа, в записи которых не больше двоих одинаковых цыфр. Вот её код:
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
using namespace std;
 
#include <iostream>
#include <fstream>
 
int main ()
{
int *mas1=new int[4], *mas2=new int[10], a=0, b=0, c=0;
ofstream on;
on.open("numbers.txt");
for (int i=1000; i<=9999; i++)
{
a=i;
mas1[3]=a%10;
a/=10;
mas1[2]=a%10;
a/=10;
mas1[1]=a%10;
mas1[0]=a/10;
b=0;
for (int u=0; u<10; u++)
{mas2[u]=0;}
for (int j=0; j<4; j++)
{
mas2[mas1[j]]++;
}
for (int j=0; j<10; j++)
{
if (mas2[j]>2)
b++;
}
if (b==0)
{
c++;
on<<i<<endl;
}
}
on<<endl<<"Takih chisel: "<<c<<endl;
cout<<"Takih chisel: "<<c<<endl;
 
delete mas1, mas2;
system ("Pause");
return 0;
}
Объясните мне его пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2010, 13:27     Найти все четырёхзначные числа
Посмотрите здесь:

Вывести все четырёхзначные числа, сумма чисел которых равна заданному числу - C++
#include &lt;iostream&gt; using namespace std; int main(){ int N, i, j; cout&lt;&lt;&quot;Vvedite nujnoe chislo \n&quot;; cin&gt;&gt;N; ...

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

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

Даны числа a и b. Необходимо найти все числа, являющиеся полными квадратами, на отрезке [a;b] - C++
Даны числа a и b. Необходимо найти все числа, являющиеся полными квадратами, на отрезке . Формат входных данных Вводится два...

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9 - C++
Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9. Знаю что должно вывести 18, 45, 90,...

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2, 3, 4, 5, 6, 7, 8, 9 - C++
Вроде код правильный наклепала. А вывода никакого нет. В чем ошибка? #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; ...

Найти все натуральные числа, не превосходящие заданного числа - C++
Решите пожалуйста задачку: Найти все натуральные числа,не превосходящие заданного числа N,десятичное представление которых строго...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 13:32     Найти все четырёхзначные числа #2
Что конкретно тебе непонятно?
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
09.02.2010, 13:33  [ТС]     Найти все четырёхзначные числа #3
Цитата Сообщение от Shevva Посмотреть сообщение
ofstream on; on.open("numbers.txt");
Цитата Сообщение от Shevva Посмотреть сообщение
a/=10;
чёт типа такого
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 13:39     Найти все четырёхзначные числа #4
Цитата Сообщение от Shevva Посмотреть сообщение
Цитата:Сообщение от Shevva
ofstream on; on.open("numbers.txt");
Объявляется файловый поток вывода. Вывод производится в файл numbers.txt


Цитата Сообщение от Shevva Посмотреть сообщение
Цитата:Сообщение от Shevva
a/=10;
Эта запись эквивалентна a=a/10

Вообще код какой-то корявый. Непонятно, зачем делать динамические массивы, зачем нужен второй массив и т.д.
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
09.02.2010, 13:47  [ТС]     Найти все четырёхзначные числа #5
а как ты бы посоветовал?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 14:09     Найти все четырёхзначные числа #6
Можно отсортировать массив mas1 по возрастанию и сравнивать рядом стоящие цифры.
Что-то типа того (уже после сортировки массива):
C++
1
2
3
4
5
6
7
8
9
10
11
12
int s=1;
int k=0;
while(k<4)
{
    if(mas1[l]==mas1[k+1])
        s++;
    i++;
}
if(s>2)
    //Код если встретилось число, в котором больше двух одинаковых цифр
else
    //В противном случае
Добавлено через 12 минут
Кстати, по вопрос по постановке задачи: число 1122, к примеру, считается числом, в котором более двух одинаковых цифр?
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
09.02.2010, 14:11  [ТС]     Найти все четырёхзначные числа #7
нет, не считается
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 14:13     Найти все четырёхзначные числа #8
То есть нужно найти все числа, в которых любая цифра повторяется не более двух раз?
Тогда немножко по-другому:
C++
1
2
3
4
if((mas1[0]==mas1[1]==mas1[2])||(mas1[1]==mas1[2]==mas1[3]))
    //встретилось число, в котором больше двух одинаковых цифр
else
    //не встретилось
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
09.02.2010, 14:15  [ТС]     Найти все четырёхзначные числа #9
да, ты правильно понял
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 14:22     Найти все четырёхзначные числа #10
Напоминаю, массив уже отсортирован
Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
09.02.2010, 14:25  [ТС]     Найти все четырёхзначные числа #11
ну да, отсортирован
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2010, 14:39     Найти все четырёхзначные числа
Еще ссылки по теме:

Найти все натуральные числа, не превосходящие числа n, которые можно представить в виде суммы слагаемых - C++
Заданы три натуральных числа a, b, n. Найти все натуральные числа, не превосходящие числа n, которые можно представить в виде суммы (...

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

Найти все числа меньшие числа Мерсенна - C++
Дано натуральное число n. Найти все числа меньшие Мр числа Мерсенна. Число Мерсенна – это простое число, представленное в виде Mp=2p–1, ...

Два двузначных числа, записанных подряд, образуют четырехзначное число, которое нацело делится на их произведение. Найти все такие числа - C++
Товарищи катятки, запоролся на простой задаче: Два двузначных числа, записанных подряд, образуют четырехзначное число, которое нацело...

Найти все такие числа k, что k-я строка совпадает с k-м столбцом. Найти наибольший элемент главной диагонали - C++
Найти все такие числа k, что k-я строка совпадает с k-м столбцом. Найти наибольший элемент главной диагонали матрицы и вывести на печать...


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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
09.02.2010, 14:39     Найти все четырёхзначные числа #12
Решение смотрим моим постом №8 выше
Yandex
Объявления
09.02.2010, 14:39     Найти все четырёхзначные числа
Ответ Создать тему
Опции темы

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