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

Программа определения счастиливого числа в С++ - C++

Восстановить пароль Регистрация
 
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 12:55     Программа определения счастиливого числа в С++ #1
Определить есть ли заданное шестизначное число счастиливым ( сумма первых трёх цифр должна быть равноей сумме трёх последних) с использованием цыкла for или while. Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
05.05.2012, 13:03     Программа определения счастиливого числа в С++ #2
Тебе срочно ?
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:04  [ТС]     Программа определения счастиливого числа в С++ #3
не сильно, но все же хотелось бы сегодня) никак не могу додумать как это реализовать.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
05.05.2012, 13:09     Программа определения счастиливого числа в С++ #4
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;
int main()
{
  int m[100];
  int n;
  int nach = 0;
  int kon = 0;
  cout << "Enter elementov " << endl;
  cin >> n;
  for (int i=0; i<n; i++)
  {
    cout << "a[" << i << "]= ";
    cin >> m[i];
    nach = m[0] + m[1] + m[2];
    kon = m[n] + m[n-1] + m[n-2];
    if(nach == kon)
    cout << m[i] << endl;
  
  }
 
system("pause");
return 0;
}
я не могу понять что в конце тебе надо вывисте. Можешь подскажешь ?
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:12  [ТС]     Программа определения счастиливого числа в С++ #5
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
05.05.2012, 13:14     Программа определения счастиливого числа в С++ #6
Цитата Сообщение от marik2012 Посмотреть сообщение
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
ну ты знаешь как переделать ?
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:14  [ТС]     Программа определения счастиливого числа в С++ #7
догадываюсь, но лучше помочь мне)
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
05.05.2012, 13:21     Программа определения счастиливого числа в С++ #8
Цитата Сообщение от marik2012 Посмотреть сообщение
догадываюсь, но лучше помочь мне)
Если често сказать я не могу понят что надо вывисти, может быть так

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;
int main()
{
  int m[100];
  int n;
  int nach = 0;
  int kon = 0;
  int otvet = 0;
  cout << "Enter elementov " << endl;
  cin >> n;
  for (int i=0; i<n; i++)
  {
    cout << "a[" << i << "]= ";
    cin >> m[i];
    nach = m[0] + m[1] + m[2];
    kon = m[n] + m[n-1] + m[n-2];
    if(nach == kon)
    otvet = nach + kon;
  }
  cout << otvet << endl;
 
system("pause");
return 0;
}
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:29  [ТС]     Программа определения счастиливого числа в С++ #9
немного проясняеться, сначала мы вводим количество элементов массива, потом вводим сами элементы массива, а потом нам выводит 0? в любом случае. надо что бы вместо нуля выводило совпадает сумма первых и последний трёх цыфр или нет. Или еще проще можно зделать
чтобы программа действовала так:
Введите число:
//например мы вводим 123330. И компилятор выводит: данное число счастливое.
Или мы вводим 123333. И компилятор выводит: данное число не счастливое.
Арсенал
144 / 66 / 6
Регистрация: 30.12.2011
Сообщений: 137
05.05.2012, 13:29     Программа определения счастиливого числа в С++ #10
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
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <vector>
#include <cmath>
 
 
using namespace std;
 
int main()
{
    ifstream in("INPUT.TXT", ios::in);
    ofstream out("OUTPUT.TXT", ios::out);
 
    int N, sum1 = 0, sum2 = 0, p1=0, p2=0;
 
    in >> N;
 
    if ((N >= 0) && (N <= 1000000))
        //if ((N >= 100000) && (N <= 1000000))
            {
                for (int i=0; i<3; i++)
                {
                    p1 = N % 10;
                    N /= 10;
                    sum1 += p1;
                }
 
                for (int j=0; j<3; j++)
                {
                    p2 = N % 10;
                    N /= 10;
                    sum2 += p2;
                }
            }
 
 
    out << ((sum2 == sum1) ? "YES" : "NO");
 
    in.close();
    out.close();
 
    return 0;
}
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.05.2012, 13:37     Программа определения счастиливого числа в С++ #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
#include <iostream>
 
using namespace std;
 
int main()
{
    int number;
    int sum = 0;
    cout << "Input a number: ";
    cin >> number;
    int right_half = number % 1000;
    int left_half = number / 1000;
    for (int i = 0; i < 3; ++i)
    {
        sum += (right_half % 10 - left_half % 10);
        right_half /= 10;
        left_half /= 10;
    }
    cout << "Number " << number << " is ";
    if (0 != sum)
        cout << "not ";
    cout << "lucky" << endl;
 
    return 0;
}
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:45  [ТС]     Программа определения счастиливого числа в С++ #12
ничего почти не понятно, если можно прокоментировать поэтапно.

Добавлено через 7 минут
grizlik78, спасибо именно то что и надо было, теперь пару вопросиков. что значит int sum = 0;
и вот эта часть программы " int right_half = number % 1000;
int left_half = number / 1000;
for (int i = 0; i < 3; ++i)
{
sum += (right_half % 10 - left_half % 10);
right_half /= 10;
left_half /= 10; "
если можно по подробнее, а то я не сильно понимаю что это значит)
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.05.2012, 13:57     Программа определения счастиливого числа в С++ #13
Цитата Сообщение от marik2012 Посмотреть сообщение
что значит int sum = 0;
Создаётся переменная целого типа и инициализируется нулём. На самом деле название не очень удачное, потому что переменная служит для вычисления разности сумм цифр левой и правой половины числа.
[CPP][int right_half = number % 1000;/CPP]
Выделяем правую половину (трёхзначную) введённого числа с помощью взяти остатка от деления на 1000. В этом месе моно было просто присвоить переменной значение введённого числа, на результат это не повлияет.
C++
1
int left_half = number / 1000;
Выделяем правую половину числа с помощью целочисленного деления на 1000.
Ну а дальше в цикле выделяется по одной цифре из левой и правой частей их разность прибавляется к переменной sum. Если в результате получили 0, то число счастливое.

Добавлено через 3 минуты
C++
1
right_half /= 10;
эквивалентно
C++
1
right_half = right_half / 10;
То есть переменная делится нацело на 10 и результат записывается в эту же переменную.
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:05  [ТС]     Программа определения счастиливого числа в С++ #14
зачем переменную инициализировать 0?
все понял) спасибо большое)
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.05.2012, 14:11     Программа определения счастиливого числа в С++ #15
Цитата Сообщение от marik2012 Посмотреть сообщение
зачем переменную инициализировать 0?
Сумма должна начинаться с чего-то конкретного. Если прибавить сколько угодно к неизвестно чему, то получится неизвестно сколько.
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:11  [ТС]     Программа определения счастиливого числа в С++ #16
еще маленькая неувязочка:
sum += (right_half % 10 - left_half % 10); что строка значит?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.05.2012, 14:14     Программа определения счастиливого числа в С++ #17
"right_half % 10" и "left_half % 10" выделяют младшую (очередную) цифру, соответственно, правой и левой половины. "sum += ..." опять же то же самое, что и "sum = sum + ..."
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2012, 14:16     Программа определения счастиливого числа в С++
Еще ссылки по теме:

Программа определения положительных чисел и нахождения их суммы C++
Программа для определения минорных аккордов от мажорных C++
Программа для определения угла между векторами C++

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

Или воспользуйтесь поиском по форуму:
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:16  [ТС]     Программа определения счастиливого числа в С++ #18
все теперь все прояснилось)
Yandex
Объявления
05.05.2012, 14:16     Программа определения счастиливого числа в С++
Ответ Создать тему
Опции темы

Текущее время: 03:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru