0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
1

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

05.05.2012, 12:55. Показов 1298. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Определить есть ли заданное шестизначное число счастиливым ( сумма первых трёх цифр должна быть равноей сумме трёх последних) с использованием цыкла for или while. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2012, 12:55
Ответы с готовыми решениями:

Программа определения простого числа
Дополните программу выводом числа итераций. Дополните программу, чтобы при вводе числа 1...

Программа определения простого числа
Помогите пожалуйста, добавьте в программу возможность многократного ввода проверяемого числа....

Программа определения простого числа
//Программа определения простого числа #include <iostream> #include <cstdlib> #include...

Программа определения последней цифры числа
Всем привет! Возникла такая проблема: не могу составить программу по VBA: определение последней...

17
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
05.05.2012, 13:03 2
Тебе срочно ?
0
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:04  [ТС] 3
не сильно, но все же хотелось бы сегодня) никак не могу додумать как это реализовать.
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 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;
}
я не могу понять что в конце тебе надо вывисте. Можешь подскажешь ?
1
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:12  [ТС] 5
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
05.05.2012, 13:14 6
Цитата Сообщение от marik2012 Посмотреть сообщение
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
ну ты знаешь как переделать ?
0
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:14  [ТС] 7
догадываюсь, но лучше помочь мне)
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 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;
}
0
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:29  [ТС] 9
немного проясняеться, сначала мы вводим количество элементов массива, потом вводим сами элементы массива, а потом нам выводит 0? в любом случае. надо что бы вместо нуля выводило совпадает сумма первых и последний трёх цыфр или нет. Или еще проще можно зделать
чтобы программа действовала так:
Введите число:
//например мы вводим 123330. И компилятор выводит: данное число счастливое.
Или мы вводим 123333. И компилятор выводит: данное число не счастливое.
0
145 / 67 / 14
Регистрация: 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;
}
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
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;
}
2
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; "
если можно по подробнее, а то я не сильно понимаю что это значит)
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
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 и результат записывается в эту же переменную.
1
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:05  [ТС] 14
зачем переменную инициализировать 0?
все понял) спасибо большое)
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
05.05.2012, 14:11 15
Цитата Сообщение от marik2012 Посмотреть сообщение
зачем переменную инициализировать 0?
Сумма должна начинаться с чего-то конкретного. Если прибавить сколько угодно к неизвестно чему, то получится неизвестно сколько.
1
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:11  [ТС] 16
еще маленькая неувязочка:
sum += (right_half % 10 - left_half % 10); что строка значит?
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
05.05.2012, 14:14 17
"right_half % 10" и "left_half % 10" выделяют младшую (очередную) цифру, соответственно, правой и левой половины. "sum += ..." опять же то же самое, что и "sum = sum + ..."
1
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:16  [ТС] 18
все теперь все прояснилось)
0
05.05.2012, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2012, 14:16
Помогаю со студенческими работами здесь

Программа определения минимального введенного числа
написать программу определения минимального введенного числа из 10 чисел

Как работает программа определения простоты числа?
В учебнике Шилдта встретил программу, пишет простое число или нет, но не могу понять как здесь...

Программа определения кол-ва сотен, десятков, единиц в записи числа
Помогите, пожалуйста составить программу определения количества сотен, десятков и единиц в записи...

Программа для определения четного/нечетного, простого/составного числа
Здравствуйте! Надо создать программу, которая будет сообщать, является ли целое число, введенное...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru