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

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

Войти
Регистрация
Восстановить пароль
 
dvaperca
1 / 1 / 1
Регистрация: 10.12.2013
Сообщений: 48
#1

не могу разобраться в несложной задаче - C++

16.12.2013, 21:33. Просмотров 208. Ответов 8
Метки нет (Все метки)

Задание:
Даны целые числа a, b, c. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями использовать как можно меньше строк и действий
Проблема:
недопустимый else без парного if
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()
{
    setlocale (0, "");
    int a, b, c;
    cout << "Введите три числа:" << endl;
    cin >> a;
    cin >> b;
    cin >> c;
    if (a != b && b != c)
    a=0;
    b=0;
    c=0;{
        cout << "Эти числа не равны" << endl;
    } else
    a++;
    b++;
    c++;{
        cout << "Эти числа равны" << endl;
    }
        system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 21:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не могу разобраться в несложной задаче (C++):

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

Нужна помощь, чтобы разобраться в несложной программе (последовательность) - C++
Вот задание: Дана последовательность целых чисел, за которой следует 0. Найти среднее арифметическое этой последовательности. Ну и вот...

Разобраться в задаче с Codeforce - C++
Вот условие(Задача 203B): И вот верное решение: #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...

Не могу написать программу по задаче по строкам!! - C++
1. Написать программу, которая считывает текст и выводит на экран только предложения, содержащие введенное с клавиатуры слово. ...

Не могу написать код к задаче. Линейные односвязные списки - C++
добавлением нового элемента в начало списка нужно удвоить в списке каждое вхождение нулевого элемента.

не могу разобраться.. - C++
Вывести на экран все натуральные числа из диапазона от A до B, в записи которых цифра 7 встречается ровно N раз. При отсутствии чисел с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
16.12.2013, 21:38 #2
может так
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()
{
    setlocale (0, "");
    int a, b, c;
    cout << "Введите три числа:" << endl;
    cin >> a;
    cin >> b;
    cin >> c;
    if (a != b && b != c){
    a=0;
    b=0;
    c=0;
        cout << "Эти числа не равны" << endl;
    } else{
    a++;
    b++;
    c++;
        cout << "Эти числа равны" << endl;
    }
        system("pause");
    return 0;
}
0
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
16.12.2013, 21:49 #3
Что за бред оба поста? В условии задачи сказано, что при отсутствии равенства нужно присвоить вашим числам максимальное из них. Вы же просто наращиваете их на единицу!
0
dvaperca
1 / 1 / 1
Регистрация: 10.12.2013
Сообщений: 48
16.12.2013, 21:50  [ТС] #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
26
27
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (0, "");
    int a, b, c;
    cout << "Введите три числа:" << endl;
    cin >> a;
    cin >> b;
    cin >> c;
    if (a != b && b != c){
    a=++;
    b=++;
    c=++;
    cin >> a,b,c;
        cout << "Эти числа не равны" << endl;
    } else{
    a=0;
    b=0;
    c=0;
    cin >> a,b,c;
        cout << "Эти числа равны" << endl;
    }
        system("pause");
    return 0;
}
скомпилировалось, но результат не выводит
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
16.12.2013, 21:51 #5
может так
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (0, "");
    int a, b, c;
    cout << "Введите три числа:" << endl;
    cin >> a;
    cin >> b;
    cin >> c;
    if (a != b && b != c){
    a=0;
    b=0;
    c=0;
    cout << a << " "  << b << " " << c;
        cout << "Эти числа не равны" << endl;
    } else{
    a++;
    b++;
    c++;
    cout << a << " "  << b << " " << c;
        cout << "Эти числа равны" << endl;
    }
        system("pause");
    return 0;
}
1
dvaperca
1 / 1 / 1
Регистрация: 10.12.2013
Сообщений: 48
16.12.2013, 21:53  [ТС] #6
сегодня узнавал, некоректно сформулирована задача, вобщем если мы вводим к примеру
5,6,7
то вывести
6,7,8
0
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
16.12.2013, 21:57 #7
Я исправил только синтаксический бред, а так надо над логикой подумать, свой вариант покажи и более четко сформулируй задачу.
0
dvaperca
1 / 1 / 1
Регистрация: 10.12.2013
Сообщений: 48
16.12.2013, 22:01  [ТС] #8
спасибо, заработало, в последнем варианте уже была моя невнимательность
0
nomyac
2 / 9 / 1
Регистрация: 12.10.2013
Сообщений: 43
16.12.2013, 22:03 #9
dvaperca, вот 2 кода
1й - где присваивается значение наибольшего из чисел
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (0, "");
    int a,b,c, max=0;
    cout<<"Введите 3 числа: "<<endl;
    cin>>a>>b>>c;
    if (a != b && b != c)
    {
        cout<<"Числа не равны!"<<endl;
        if (a>b && b>c)
        {
            a=max;
            b=a; c=a;
            cout<<"Наибольшее значение = "<<max<<endl;
        }
        if (b>a && a>c)
        {
            b=max;
            a=b; c=b;
            cout<<"Наибольшее значение = "<<max<<endl;
        }
        else 
        {
            max=c;
            a=c;b=c;
            cout<<"Наибольшее значение = "<<max<<endl;
        }
    }
    else
    {
        a=0; b=0; c=0;
        cout<<"Числа равны!"<<endl;
        
    }
    system ("pause");
    return 0;
}

2й - где ты перепутал условия
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (0, "");
    int a, b, c;
    cout << "Введите три числа:" << endl;
    cin >> a;
    cin >> b;
    cin >> c;
    if (a != b && b != c){
    a++;
    b++;
    c++;
    cout << a << " "  << b << " " << c<<endl;
        cout << "Эти числа не равны" << endl;
    } else
    {
    a=0;
    b=0;
    c=0;
    cout << a << " "  << b << " " << c<<endl;
        cout << "Эти числа равны" << endl;
    }
        system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 22:03
Привет! Вот еще темы с ответами:

Не могу разобраться с С++ - C++
Всем Привет, так я кодеру в Делфи. Не давно нашел что мне нужно но оy написан на С. Вот и начался у меня проблемы с кодами. Вот часть...

Ребята не могу разобраться - C++
Учусь на заочке ни че не понмиаю, а завтра экзамен буддте добры помогите. http://cs5680.vk.com/u136002542/151263947/x_9d8fab15.jpg ...

не могу разобраться с ошибкой - C++
Нарушение прав доступа при записи &quot;0x001a0fc0&quot;. не могу понять где ошибка. программа на рекурсию #include &quot;stdafx.h&quot; #include...

Не могу разобраться с dynamic_cast - C++
class Base { public: virtual void info() { cout&lt;&lt;&quot;Base&quot;&lt;&lt;endl; } }; class Derived : public...


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

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

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