Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/41: Рейтинг темы: голосов - 41, средняя оценка - 4.98
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28

Определить количество съеденных конфет из трех ваз

26.10.2015, 18:43. Показов 8993. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На столе стоят три вазы с конфетами.В левой вазе лежат A конфет,в средней вообще лежат B конфет,в правой вазе лежат C конфет.Лена съедает одну конфету из левой вазы,затем-одну конфету из средней вазы,затем из правой,средней вазы,затем из правой,средней,левой,средней,правой,сред ней и т.д.
Если Лена хочет взять конфету из какой-то вазы ,а конфет там нет,она расстраивается и идёт спать.Определите,сколько конфет съест Лена
Программа получает на вход три целых неотрицательных числа A,B,C-количество конфет в левой,средней ,правой ВАЗе.

Добавлено через 20 часов 57 минут
Задача актуальна, нужна срочно.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2015, 18:43
Ответы с готовыми решениями:

Определить количество проданных конфет каждого наименования за день и сумму полученную за каждый вид конфет
Прошу помогите составить программу в C# Составить программу с использованием операторов for и switch.В магазине продаются конфеты 3-х...

Определить количество мальчиков по количеству съеденных груш
С дерева сняли мальчиков, съевших около 100 груш. Сколько было мальчиков, если известно, что один съел 20 груш, а каждый следующий на 10%...

Определить, через сколько дней количество съеденных комаров превысит 100
Царевна-лягушка съедает ежедневно на 20 комаров больше чем в предыдущий день. Через сколько дней кол-во съеденных комаров превысит 100?

13
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
26.10.2015, 18:45
Есть ли какие-то попытки решить самостоятельно?
0
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28
26.10.2015, 18:50  [ТС]
Да, но все безуспешно. Пытался решить так:
C++
1
2
3
4
5
6
while(a>0, b>0 c>0){
a=a-1;
b=b-1;
c=c-1;
n=n+3;
}
А далее даже ума не приложу, что надо делать.
0
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
26.10.2015, 19:05
Если хочешь решать так, то сделай проверку после каждого вычитания (съедания)
Так же перечитай задание, тут возникает период, но больше, чем у тебя вышло, если левая - 0, средняя - 1, а правая - 2, то поулчается 012121012121012121, если я верно понял. т.е. нужно сделать цикл из 012121 т.е. 6 вычитаний и 6 проверок.
0
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28
26.10.2015, 19:35  [ТС]
А есть какой-то другой способ?

Добавлено через 17 минут
Кликните здесь для просмотра всего текста
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
46
47
48
    int main(){
        int a, b, c, n = 0;
        cin >> a >> b >> c;
        while (a > 0, b > 0, c > 0){
            a--;
            b--;
            c--;
            n++;
        }
        if (a == 0){
            if (b == 1){
                if (c == 0){
                    n++;
                }
                else{ n = n + 2; }
            }
            else{
                if (c == 0){
                    n++;
                }
                else{ n = n + 3; }
            }
        }
        if (c == 0){
            if (b == 1){
                if (a == 0){
                    n++;
                }
                else{ n = n + 2; }
            }
            else if (a == 0){
                n++;
            }
            else{ n = n + 3; }
        }
        if (b == 0){
            if (a == 0){
                if (b == 0){
                    n++;
                }
            }
            else{ n++; }
        }
        cout << n;
        system("PAUSE");
        return 0;
 
        }

Не особо как-то получилось.
0
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
26.10.2015, 20:59
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    int order[] = { 0, 1, 2, 1, 2, 1 };
    int vases[3];
    int i;
    for (i = 0; i < 3; i++) {
        cin >> vases[i];
    }
    for (i = 0; --vases[order[i % 6]] != 0; i++)
        ;
    cout << i + 1 << endl;
    return 0;
}
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
26.10.2015, 21:12
Цитата Сообщение от marat322 Посмотреть сообщение
while(a>0, b>0 c>0)
что ты хотел этим сказать?

Добавлено через 5 минут
Цитата Сообщение от Vtulhu Посмотреть сообщение
cout << i + 1 << endl;
в вазе А нет конфет изначально, но Лена съела одну конфету
0
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28
26.10.2015, 21:26  [ТС]
Хотел сказать, что если a>0 и b>0 и c>0 ..
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
26.10.2015, 21:28
Цитата Сообщение от marat322 Посмотреть сообщение
Хотел сказать, что если a>0 и b>0 и c>0
тогда это выглядит так
C++
1
while(a>0 && b>0 && c>0)
0
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28
27.10.2015, 19:51  [ТС]
Задача еще актуальна, у меня так нормально и не получилось.
0
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
27.10.2015, 19:55
Чем решение в #6 не устраивает?
1
0 / 0 / 0
Регистрация: 27.10.2015
Сообщений: 5
27.10.2015, 21:04
Может ли кто написать подобную программу на паскале?
0
2 / 1 / 1
Регистрация: 25.10.2015
Сообщений: 28
27.10.2015, 22:01  [ТС]
Допустим если в каждой вазе по 3 конфеты, то Лена должна съесть 7 конфет, а #6 пишет что 6, если приписать еще +1 в ответе, то в первой вазе если будет 0 конфет, то Лена съест 2 конфеты.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
28.10.2015, 00:07
Лучший ответ Сообщение было отмечено marat322 как решение

Решение

Цитата Сообщение от marat322 Посмотреть сообщение
если приписать еще +1 в ответе,
на эту ошибку я Vtulhu указал,но он не отреагировал
и главная ошибка в алгоритме, проверять вазу нужно до того как съел конфету, а не после
ну еще бы неплохо ввести отладочную печать
с учетом этих замечаний цикл будет выглядеть так, остальное не трогал
C++
1
2
3
4
    for (i = 0; vases[order[i % 6]]-- != 0; i++)
        cout<< vases[0]<<vases[1]<< vases[2]<<endl;
        
    cout << i << endl;
проверяй
но более понятно по моему выглядит так
C++
1
2
3
4
5
6
    for (i = 0; vases[order[i % 6]]!= 0; i++)
       {
         vases[order[i % 6]]--;
        cout<< vases[0]<<vases[1]<< vases[2]<<endl;
        }
    cout << i << endl;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2015, 00:07
Помогаю со студенческими работами здесь

Определить, через сколько дней количество съеденных комаров лягушкой превысит 100
Царевна – лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и еще два комара. Написать программу, определяющую, через...

Рекурсия: определить, через сколько дней количество съеденных комаров превысит 100
Царевна-лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и ещё два комара. Написать программу, определяющую, через...

Определить количество коробок для упаковки конфет
Для комплектования новогодних подарков университет приобрел на кондитерской фабрике 820 кг конфет. Конфеты были упакованы в 100 коробок...

Определить, какое наибольшее количество конфет мальчик может взять?
Маленький мальчик попал в сказочную страну и увидел там дорогу, вдоль которой разложены мешки с конфетами. На каждом мешке написано...

Определить, сколько стоит 1 кг и Y кг конфет, если X кг конфет стоит A рублей.
Известно, что Х кг конфет стоит А рублей. Определить, сколько стоит 1 кг и Y кг этих же конфет.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru