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

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

Войти
Регистрация
Восстановить пароль
 
 
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
#1

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

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

Определить есть ли заданное шестизначное число счастиливым ( сумма первых трёх цифр должна быть равноей сумме трёх последних) с использованием цыкла for или while. Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2012, 12:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа определения счастиливого числа в С++ (C++):

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

Программа с использованием перезагрузки ф-ций для определения абсолютного значения числа - C++
У меня завтра экзамен. Я решила все задачи кроме одной. Помогите пожалуйста или подскажите как сделать! Вот и задача! Программа с...

Определения степени числа - C++
#include <iostream> #include <math.h> using namespace std; int main() { double i, sum; cin >> i; for ( double i=1; i <=sum;...

Программа для определения угла между векторами - C++
Я нашел такую программу внизу, немного исправил ее, но не знаю, что watch означает и зачем он вообще и все ли тут правильно. Мне...

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

Программа определения положительных чисел и нахождения их суммы - C++
Пользователь вводит четыре целых числа.найти сумму положительных из них. Хоть убейте, не понимаю, как правильно посчитать сумму.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
05.05.2012, 13:03 #2
Тебе срочно ?
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:04  [ТС] #3
не сильно, но все же хотелось бы сегодня) никак не могу додумать как это реализовать.
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 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
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:12  [ТС] #5
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
05.05.2012, 13:14 #6
Цитата Сообщение от marik2012 Посмотреть сообщение
спасибо, но чуть-чуть не так..в конечном этоге мы вводим 6 значное число с клавиатуры, и появляеться результат данное число не счастливое, или же счастливое.
ну ты знаешь как переделать ?
0
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:14  [ТС] #7
догадываюсь, но лучше помочь мне)
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 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
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 13:29  [ТС] #9
немного проясняеться, сначала мы вводим количество элементов массива, потом вводим сами элементы массива, а потом нам выводит 0? в любом случае. надо что бы вместо нуля выводило совпадает сумма первых и последний трёх цыфр или нет. Или еще проще можно зделать
чтобы программа действовала так:
Введите число:
//например мы вводим 123330. И компилятор выводит: данное число счастливое.
Или мы вводим 123333. И компилятор выводит: данное число не счастливое.
0
Арсенал
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;
}
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
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
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; "
если можно по подробнее, а то я не сильно понимаю что это значит)
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
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
marik2012
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 41
05.05.2012, 14:05  [ТС] #14
зачем переменную инициализировать 0?
все понял) спасибо большое)
0
grizlik78
Эксперт С++
1911 / 1443 / 112
Регистрация: 29.05.2011
Сообщений: 3,000
05.05.2012, 14:11 #15
Цитата Сообщение от marik2012 Посмотреть сообщение
зачем переменную инициализировать 0?
Сумма должна начинаться с чего-то конкретного. Если прибавить сколько угодно к неизвестно чему, то получится неизвестно сколько.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2012, 14:11
Привет! Вот еще темы с ответами:

Программа для определения даты следующего дня - C++
помогите написать программу в для определения даты следующего дня

Программа для определения попадания точки с координатами (x, y) в мишень - C++
Здравствуйте, помогите пожалуйста в с++ создать алгоритм для определения попадания точки с координатами (x, y) в мишень. вот рисунок:

Построить СА определения целой степени у числа х - C++
Задачка 1.Построить СА определения целой степени у числа х (учесть, что степень может быть отрицательной). Помогите плз с этой...

Программа для определения всех натуральных чисел, которые заканчиваются на 2 - C++
Получить распечатку всех чисел, оканчивающихся на цифру 2, из промежутка от 1 до N.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.05.2012, 14:11
Ответ Создать тему
Опции темы

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