Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/42: Рейтинг темы: голосов - 42, средняя оценка - 4.50
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
1

Задача "Кто старше?" (подскажите где ошибка в коде)

20.06.2014, 20:41. Просмотров 8214. Ответов 17
Метки нет (Все метки)

Здравствуйте!подскажите где может быть ошибка, на сайте показывает частичное решение,
Условие:
Программа принимает три числа: возраст Антона, возраст Бориса и возраст Виктора. Определите, кто из них старше остальных.
Входные данные
Входная строка содержит три натуральных числа: возраст Антона, возраст Бориса и возраст Виктора.
Выходные данные
Выходная строка должна содержать латинскую букву – код того человека, который старше всех. Код Антона – 'A', код Бориса – 'B', код Виктора – 'C'. Если двое старше третьего, нужно вывести два кода через пробел (в алфавитном порядке). Например, если Антон и Виктор старше Бориса, программа должна вывести 'A C'. Если все трое одного возраста, программа должна вывести число 0.
Код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main ()
{
    int a ,b,c;
    cin>>a>>b>>c;
        if (a>b && b>c)
        cout<<"A"<<endl;
    if (a<b && b>c)
        cout<<"B"<<endl;
    if (a<b && b<c)
        cout<<"C"<<endl;
    if (a==b && b==c)
        cout<<"0"<<endl;
    if (a==b && b>c)
        cout<<"A,B"<<endl;
    if (a==c && b<c)
        cout<<"A,C"<<endl;
    if (b==c && a<c)
        cout<<"B,C"<<endl;
 
        return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2014, 20:41
Ответы с готовыми решениями:

Патерн "прототип" не работает, выдаёт ошибку "недопустимый вызов нестатической ф-ции", где я в коде ошибка?
Вот мой код... #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;vector&gt; #define vrom...

Задача "замочная скважина" и "ключ" ошибка в коде
Почему-то не работает программа реализующая следующую задачу: Даны мозаичные изображения...

Где в коде ошибка(-и)? Компилируется, но выкидывает "name.exe has stopped working"
#include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &lt;string.h&gt; #include &quot;iostream&quot; using...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов-...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL"
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке...

17
nmcf
6525 / 5749 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
20.06.2014, 20:53 2
Так работает или нет? Почему без else?
0
Pjeroo
Землянин
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 313
20.06.2014, 21:01 3
ZarinZomanu4,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int a,b,c;
    cin >> a >> b >> c;
 
    if (a > b && a > c)
        cout << 'A';
    else if (b > c && b > a)
        cout << 'B';
    else if (c > b && c > a)
        cout << 'C';
    else if (a == b && a == c)
        cout << '0';
    else if (a == b && b > c)
        cout << "A,B";
    else if (a == c && c > b)
        cout << "A,C";
    else if (b == c && c > a)
        cout << "B,C";
0
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
20.06.2014, 21:04  [ТС] 4
как бы работает, но проверочный сайт пишет что решение частичное.

Добавлено через 2 минуты
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int a,b,c;
 cin >> a >> b >> c;
if (a > b && a > c)
 cout << 'A';
 else if (b > c && b > a)
 cout << 'B';
 else if (c > b && c > a)
 cout << 'C';
 else if (a == b && a == c)
 cout << '0';
 else if (a == b && b > c)
 cout << "A,B";
 else if (a == c && c > b)
 cout << "A,C";
 else if (b == c && c > a)
 cout << "B,C";[/quote]
не подходит.все равно частичное решение.
0
Sheoka
0 / 0 / 1
Регистрация: 09.04.2014
Сообщений: 5
20.06.2014, 21:07 5
Нет ни одной проверки, являются ли числа целыми, неотрицательными. И если ввести что-то не так, то всё летит
0
Pjeroo
Землянин
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 313
20.06.2014, 21:10 6
Sheoka, и с чего вдруг оно куда-то полетит?
0
ValeryS
Модератор
7482 / 5665 / 725
Регистрация: 14.02.2011
Сообщений: 19,367
Завершенные тесты: 1
20.06.2014, 21:13 7
ZarinZomanu4, зачем столько проверок, бей условие на две части
примерно так
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
if(a>b)
{
  
  if(a==c)
     cout<<"A C"<<endl;
  else
    {
     if(a>c)
     cout<<"A"<<endl;
     else
     cout<<"C"<<endl;
    }
   }
else
{
 if(a<b)
 {
   if(b>=c)
     cout<<"B";
   else
      cout<<"C"<<endl;
    if(b==c)
     cout<<" C"<<endl;
  else
     cout<<endl;
 } 
 else
 {
   if(a==c)
     cout<<"0"<<endl;
  else
     cout<<"B C"<<endl;
 }
}
0
Sheoka
0 / 0 / 1
Регистрация: 09.04.2014
Сообщений: 5
20.06.2014, 21:13 8
А вы попробуйте ввести что-нибудь не являющееся натуральным числом
0
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
20.06.2014, 21:14  [ТС] 9
Цитата Сообщение от Sheoka Посмотреть сообщение
Нет ни одной проверки, являются ли числа целыми, неотрицательными. И если ввести что-то не так, то всё летит
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (a>0 && b>0 && c>0)
        { if (a > b && a > c)
        cout << 'A';
    else if (b > c && b > a)
        cout << 'B';
    else if (c > b && c > a)
        cout << 'C';
    else if (a == b && a == c)
        cout << '0';
    else if (a == b && b > c)
        cout << "A,B";
    else if (a == c && c > b)
        cout << "A,C";
    else if (b == c && c > a)
        cout << "B,C";
}
    else 
        cout<<"error"<<endl;
Все равно не то.или я не правильно понял мысль?
0
SlavaSSU
218 / 163 / 47
Регистрация: 17.07.2012
Сообщений: 587
20.06.2014, 21:18 10
тут не нужны никакие проверки, читайте формат входных данных: 3 натуральных числа...
0
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
20.06.2014, 21:19  [ТС] 11
Цитата Сообщение от ValeryS Посмотреть сообщение
зачем столько проверок, бей условие на две части
примерно так
Ну тоже самое.Частичное решение.
0
Sheoka
0 / 0 / 1
Регистрация: 09.04.2014
Сообщений: 5
20.06.2014, 21:21 12
Лучший ответ Сообщение было отмечено ZarinZomanu4 как решение

Решение

"нужно вывести два кода через пробел (в алфавитном порядке)" - попробуйте убрать запятые между выводимыми буквами
0
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
20.06.2014, 21:22  [ТС] 13
Цитата Сообщение от Sheoka Посмотреть сообщение
"нужно вывести два кода через пробел (в алфавитном порядке)" - попробуйте убрать запятые между выводимыми буквами
Добавлено через 1 минуту
нужно вывести два кода через пробел (в алфавитном порядке) - а в коде стоят запятые
Черт действительно.Помогло.Спасибо.
0
Pjeroo
Землянин
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 313
20.06.2014, 21:23 14
Sheoka, и все нормально отработает.
0
Sheoka
0 / 0 / 1
Регистрация: 09.04.2014
Сообщений: 5
20.06.2014, 21:26 15
Мой препод с вами бы не согласился
0
SlavaSSU
218 / 163 / 47
Регистрация: 17.07.2012
Сообщений: 587
20.06.2014, 21:27 16
так попробуй послать

C++ (Qt)
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
#include <iostream>
#include <algorithm>
 
using namespace std;
 
pair<int, int> a[4];
 
int main()
{
    a[0].second = 'A';
    a[1].second = 'B';
    a[2].second = 'C';
 
    for(int i = 0; i < 3; i++)
        cin >> a[i].first;
 
    sort(a, a + 3);
 
    a[3].first = (int)(1e9);
 
    int idx = 2;
    while(idx > 0 && a[idx].first == a[idx - 1].first)
        idx--;
    if(idx == 0)
    {
        cout << 0 << endl;
        return 0;
    }
 
    for(int i = idx; i < 3; i++)
    {
        if(i != idx)
            cout << ',';
        cout << (char)(a[i].second);
    }
 
    cout << endl;
    return 0;
}
0
ZarinZomanu4
6 / 6 / 0
Регистрация: 27.05.2013
Сообщений: 93
20.06.2014, 21:28  [ТС] 17
Да все уже разобрались.Вместо запятых поставил пробел и заработало.
0
Sheoka
0 / 0 / 1
Регистрация: 09.04.2014
Сообщений: 5
20.06.2014, 21:28 18
Это может возыметь очень печальные последствия
0
20.06.2014, 21:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2014, 21:28

Подскажите почему может появляться ошибка: "неразрешенный внешний символ "_SDL_...""
Привет всем =) Скажите пожалуйста почему у меня пишет: 1&gt;SDL.obj : error LNK2001: неразрешенный...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt;...

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64"
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная 1 задача 2.exe&quot;:...


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

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

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