Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.05.2018
Сообщений: 11
1

Не могу разобраться с кодом задачки

12.05.2018, 17:02. Показов 1156. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, ребята. Не могу решить задачку. Попытался сделать, но не получилось

В первой строке дано целое число n (1 ⩽ n ⩽ 1000)—количество детей в группе.
В следующей строке через пробел перечислены n чисел, причем i-е по счету число ai
(0 ⩽ ai ⩽ n−1 ) обозначает плаксивость i-го ребенка.
Число ai обозначает количество детей, которые должны заплакать, чтобы этот
ребенок тоже заплакал. Если ai = 0, значит, этот ребенок точно сегодня заплачет просто так,
вне зависимости от своих товарищей. Считается, что ребенок не может начать плакать,
если вокруг него не плачет нужное количество детей.
Если ребенок начал плакать, то он уже не успокоится до вечера.
Выведите «YES», если вся группа будет плакать одновременно, или «NO» иначе.

Вход Выход
4 Yes
1 0 1 2
Вход Выход
3 No
1 1 1
Вот мой нерабочий код

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()
{
    int n;
    cin>>n;
    int m[n];
    for(int i = 0;i<n;i++)
        cin>>m[n];
    int k = 0;
    for(int i = 0;i<n;i++)
        if(m[i]<=k)
            k++;
    if(k==n)
        cout<<"Yes";
    else
        cout<<"No";
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2018, 17:02
Ответы с готовыми решениями:

Не могу разобраться с кодом
Здравствуйте! Скажите, что выполняет программа в данном фрагменте и что обозначают стрелки? p1 =...

Не могу разобраться с кодом
Не могу разобраться с участком кода, а именно зачем нужны &quot;++&quot; *buffer-&gt;DataEnd++ = data32;

Не могу разобраться с кодом
Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово. ...

Не могу разобраться с кодом
Суть состоит в том чтобы составить программу, выводящую на экран расписание экзаменов и зачетов...

5
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
12.05.2018, 17:16 2
А где описание алгоритма для этого кода?

Добавлено через 2 минуты
Пусть n=3, ai=2,1,0. Что выведет программа?
0
0 / 0 / 0
Регистрация: 12.05.2018
Сообщений: 11
12.05.2018, 17:21  [ТС] 3
При введенных данных выведет Yes. Число n обозначает кол-во детей, а a[i]-то сколько детей должно заплакать, чтобы начал плакать данный ребенок
0
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
12.05.2018, 19:01 4
Цитата Сообщение от zer0mail Посмотреть сообщение
Пусть n=3, ai=2,1,0. Что выведет программа?
По идее должна выводить YES. Сперва расплачется третий (беспричинно, как я понимаю), из-за него второй, ну а от них и первый заразится.

Добавлено через 1 час 0 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int total_crying_children {0};    //всего плачущих детей
int crying_ability[] {1, 0, 1, 2};//массив плаксивости детей
size_t const ARRSIZE {sizeof(crying_ability) / sizeof(int)};
vector<pair<int, bool>> children(ARRSIZE, {0, false}); //способности и состояния детей
 
for (size_t count {0}; count != ARRSIZE; ++count) //инициализация детей их способностями
    children[count].first = crying_ability[count];
 
while (true)
{
    int current_crying_children {0};  //вновь расплакавшиеся дети
 
    for (auto & child : children)
        if (child.first <= total_crying_children && child.second == false)
            child.second = true, ++current_crying_children, ++total_crying_children;
 
    if (current_crying_children == 0)
        break;
}
 
ARRSIZE == total_crying_children ? cout << "YES" << endl : cout << "NO" << endl;
0
0 / 0 / 0
Регистрация: 12.05.2018
Сообщений: 11
12.05.2018, 19:06  [ТС] 5
Спасибо за ответ. Буду признателен, если скините библиотеки, которые вы использовали
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
12.05.2018, 19:30 6
А у меня эта программа выводит No... Неужели компиляторы настолько разные
0
12.05.2018, 19:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2018, 19:30
Помогаю со студенческими работами здесь

Не могу разобраться с кодом (Указатели)
Всем салют! Решил освоить С++. Обучение прохожу сам по книге Лафоре &quot;ООП в С++&quot;. Разобрал полкниги,...

Не могу разобраться с кодом. Переменные.
Вопрос в общем то ну очень элементарный. Для реализации своей программы мне был необходим метод...

Не могу разобраться с формулой (или кодом) которая корректно выставит ставки согласно текущему % дохода от суммы ставки
Подскажите, пожалуйста, как в C++ реализовать в игре алгоритм ставок. 1. Есть 100% потеря,...

Разобраться с кодом
Есть готовый код программы, решающей следующую задачу: Для двух прямолинейных кусков круглой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru