Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
#1

определить, совпадают ли суммы первых и последних трех цифр шестизначного числа - C++

02.01.2013, 21:27. Просмотров 2304. Ответов 23
Метки нет (Все метки)

вот мой код. компилятор выдаёт ошибку в 4ой строке. не могу понять как исправить..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std
 
main(){
const int  N=6;
int A[N];
cout<<"Vvedite chislo N:"<<endl;
for(int i=0; i<N; i++){
cin>>N[i];}
 
for(int i=0; i<N; i++){
if(A[0]==A[1]==A[2]&&A[3]==A[4]==A[5])
cout<<"Chislo schastlivoe";
else
cout<<"Chislo ne schastlivoe";
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2013, 21:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос определить, совпадают ли суммы первых и последних трех цифр шестизначного числа (C++):

Написать программу: сумма первых трех цифр числа равна сумме его последних трех цифр.
Получить все шестизначные счастливые номера. Счастливым называют такое...

Счастливый билет (сумма первых трех цифр равна сумме последних трех)
Всем привет ! Нужно #include &lt;iostream&gt; #include &lt;string&gt; #include...

Подсчитать количество "счастливых" шестизначных автобусных билетов(сумма первых трех цифр равна сумме трех последних цифр)
Подсчитать количество &quot;счастливых&quot; шестизначных автобусных билетов, т.е таких,...

Функция: получить шестизначное число и проверить, равна ли сумма первых трех цифр сумме последних трех
Написать функцию, которая принимает целое шестизначное число и проверяет равна...

Определить, равна ли сумма первых двух цифр четырехзначного числа сумме двух последних цифр
Определить, равна ли сумма первых двух цифр данного четырехзначного числа сумме...

Определить, делится ли сумма первых трех цифр четырехзначного числа на число, равное последней цифре
1.Делиться ли сума первых трех цифр на число равное последней цифре 2.Равно ли...

23
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
02.01.2013, 21:30 #2
C++
1
2
3
using namespace std;
 
int main()
Добавлено через 2 минуты
У вас как-то совсем не суммы сравниваются
C++
1
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5])
И еще есть ошибки, вместо N[i] нужно A[i] - 9 строка.
В 11 строке - цикл не нужен, раз вы явно указываете индексы элементов, которые нужно сравнивать.
И сдается мне, элементы массива должны быть типа char а не int.
1
-=ЮрА=-
Заблокирован
Автор FAQ
02.01.2013, 21:32 #3
Цитата Сообщение от KattyAlex Посмотреть сообщение
#include <iostream>
using namespace std; - пропушенна запятая
int main(){
- следует указать тип возвращаемого main значения
1
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
02.01.2013, 21:33 #4
http://www.cyberforum.ru/cpp-beginners/thread572295.html
Поищите еще по теме "Счастливые билеты" на форуме полно таких задач
1
-=ЮрА=-
Заблокирован
Автор FAQ
02.01.2013, 21:33 #5
Цитата Сообщение от Schizorb Посмотреть сообщение
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5])
- поддерживаю
0
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
02.01.2013, 21:34  [ТС] #6
Цитата Сообщение от Schizorb Посмотреть сообщение
C++
1
2
3
using namespace std;
 
int main()
Добавлено через 2 минуты
У вас как-то совсем не суммы сравниваются
C++
1
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5])
Спасибо за исправление какая-то я рассеянная стала..
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
02.01.2013, 21:40 #7
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- поддерживаю
а я нет.
Ибо так будут сравниваться суммы трех первых введенных чисел с суммой трех последних, а не цифры одного числа.

Добавлено через 3 минуты
Цитата Сообщение от KattyAlex Посмотреть сообщение
C++
1
2
3
const int N=6;
//...
cin>>N[i];
Как?

Цитата Сообщение от KattyAlex Посмотреть сообщение
C++
1
using namespace std
Нет точки с запятой.

про main уже написали
0
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
02.01.2013, 21:41 #8
Цитата Сообщение от Croessmah Посмотреть сообщение
Ибо так будут сравниваться суммы трех первых введенных чисел
Насколько я понял, автор хочет хранить шестизначное число как массив из шести элементов (поэтому и предположил, что массив этот скорее должен быть типа char), а не 6 чисел типа int.

В общем, вот я о чем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    const int  N = 6;
    char A[N];
    
    cout << "Vvedite chislo N:" << endl;
    for(int i = 0; i < N; i++)
        cin >> A[i];
     
 
    if(A[0] + A[1] + A[2] == A[3] + A[4] + A[5])
        cout<<"Chislo schastlivoe";
    else
        cout<<"Chislo ne schastlivoe";
 
    return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
02.01.2013, 21:42 #9
Предложу также свой простой вариант решения
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
#include <iostream>
using namespace std;
 
int main()
{
    int number    = 0;
    int sum3beg = 0;
    int sum3end = 0;
    while(true)
    {
        cout<<"Enter number : ";cin>>number;
        if(number < 1E5 || 1E6 - 1 < number)
            cout<<"Number must have 6-digits"<<endl;
        else
        {
            sum3end = number % 10;
            sum3end+= (number/10 ) % 10;
            sum3end+= (number/100) % 10;
 
            sum3beg = (number/1000  ) % 10;
            sum3beg+= (number/10000 ) % 10;
            sum3beg+= (number/100000) % 10;
 
            if(sum3beg == sum3end)
                cout<<"Number is   lucky"<<endl;
            else
                cout<<"Number is'n lucky"<<endl;
        }
    }
    return 0;
}
0
Миниатюры
определить, совпадают ли суммы первых и последних трех цифр шестизначного числа  
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
02.01.2013, 21:42  [ТС] #10
Цитата Сообщение от Schizorb Посмотреть сообщение
Насколько я понял, автор хочет хранить шестизначное число как массив из шести элементов (поэтому и предположил, что массив этот скорее должен быть типа char), а не 6 чисел типа int.
правильно поняли
0
-=ЮрА=-
Заблокирован
Автор FAQ
02.01.2013, 21:45 #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Ибо так будут сравниваться суммы трех первых введенных чисел с суммой трех последних, а не цифры одного числа.
- пост 9 сравнивает цифры именно числа.

Добавлено через 1 минуту

Не по теме:

KattyAlex, попробуй код поста 9, не надо ни чаров ни массивов - работай именно с введенным 6-ти значным числом и его разрядами

0
Croessmah
02.01.2013, 21:46
  #12

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- пост 9 сравнивает цифры именно числа.
ну пост #9 - это пост #9, а не пост #5

0
-=ЮрА=-
02.01.2013, 21:50
  #13

Не по теме:

Croessmah, поясни что имел ввиду этим

Цитата Сообщение от Croessmah Посмотреть сообщение
ну пост #9 - это пост #9, а не пост #5
Верней к чему оно?

0
Croessmah
02.01.2013, 21:53
  #14

Не по теме:

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Верней к чему оно?


Я к тому, что моя цитата относилась к посту 5. И поста 9 еще не было в то время.

0
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
02.01.2013, 21:58  [ТС] #15
исправила код. в последней строке компилятор находит ошибку. как так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
char main(){
 
const int N=6;
int A[N];
 
cout<<"Vvedite chislo N:"<<endl;
for(int i=0; i<N; i++){
cin>>A[i];
}
 
for(int i=0; i<N; i++){
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5]){
cout<<"Chislo schastlivoe";}
else
cout<<"Chislo ne schastlivoe";
 
system("pause");
return 0;
}
0
tokar2
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
02.01.2013, 22:01 #16
Я думаю так будет лучше:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main(){
 
const int N=6;
int A[N];
 
cout<<"Vvedite chislo N:"<<endl;
for(int i=0; i<N; i++){
cin>>A[i];
}
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5])
cout<<"Chislo schastlivoe";
else
cout<<"Chislo ne schastlivoe";
system("pause");
return 0;
 
}
0
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
02.01.2013, 22:03  [ТС] #17
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

KattyAlex, попробуй код поста 9, не надо ни чаров ни массивов - работай именно с введенным 6-ти значным числом и его разрядами

я хочу исправить свои ошибки, чтоб моя программа заработала всё-таки))
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
02.01.2013, 22:05 #18
Цитата Сообщение от Schizorb Посмотреть сообщение
Насколько я понял, автор хочет хранить шестизначное число как массив из шести элементов (поэтому и предположил, что массив этот скорее должен быть типа char), а не 6 чисел типа int.
Тогда в A должно быть минимум 7 элементов, ибо cin>>A[i] запишет ноль в конце.
0
KattyAlex
0 / 0 / 1
Регистрация: 02.01.2013
Сообщений: 26
02.01.2013, 22:06  [ТС] #19
лучше не стало. компилятор теперь находит 2 ошибки..
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
02.01.2013, 22:07 #20
Попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(){
 
const int N=7;
char A[N];
 
cout<<"Vvedite chislo N:"<<endl;
cin>>A;
if(A[0]+A[1]+A[2] == A[3]+A[4]+A[5])
cout<<"Chislo schastlivoe";
else
cout<<"Chislo ne schastlivoe";
system("pause");
return 0;
 
}
Если ругается на
C++
1
system("pause");
и у Вас Windows, тогда
C++
1
#include <cstdlib>
0
02.01.2013, 22:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2013, 22:07
Привет! Вот еще темы с решениями:

Определить, равна ли сума двух первых цифр четирезначного числа суме двух последних
Определить, равна ли сума двух первых цифр четирезначного числа суме двух...

составить линейную программу (сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр)
составить линейную программу , печатающую значение true , если указанное...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!
дано натуральное число N. Определить,во сколько раз произведение цифр числа...

Определить есть ли среди первых трех цифр части цифра 0
Задано положительное число с плавающей точкой. Определить есть ли среди первых...


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

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

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