Решаем задачи Абрамян на C. Array22

Array22. Дан массив размера $$N$$ и целые числа $$K$$ и $$L$$ ($$1 \lt K \leq L \leq N$$). Найти сумму всех элементов массива, кроме элементов с номерами от $$K$$ до $$L$$ включительно.

Решение:

Другие задачи из раздела Array можно посмотреть здесь.

Комментарии:

Комментарии 15

  • C++
    __________________________
    void main()
    {
    const int array_size = 10;
    int array[array_size] = { 10, 10, 5, 5, 9, 5, 10, 10, 10, 10 };
    int sum = 0;
    int k = 2;
    int l = 5;

    for (int idx = 0; idx < array_size; idx++)
    if (idx l)
    sum += array[idx];

    cout << sum << endl;
    }

  • почему-то «обгрызлась» строчка при отправке комментария:
    if (idx l)

  • опять ((
    иф (инд меньше К ИЛИ инд больше Л)

    • Так?

      • Ну конеш алгоритм в данном задании работает, но не рационально использует ресурсы. 🙂
        Я бы не хотел что бы это юзалось в моём компьютере например для подсчёта яркости боковых пикселей на мониторе . 🙂

        • да, так. Но все же void main() — если уж совсем, чтобы было так ))) ну и без ретурна в конце, соответственно

        • т.к. я совсем начинающий (иначе, Абрамяна бы не решал), поэтому за быстродействие еще ничего не знаю )) пардоньте ))

          • Да не стоит извиняться 🙂 я пишу, комменты к решениям только в надежде, что это кому то интересно. И они отображают лично моё внутреннее ощущение. 🙂

            • Кстати, если есть, где можно почитать про быстродействие — буду благодарен за ссылку. Но только именно «для чайников», т.к. на каких-то сложных примерах могу не понять пока что, ибо — «чайник» )))
              п.с. жаль, что не приходят уведомления об ответе на комментарий. Я чисто случайно зашел сюда снова после публикации своего комментария. Так что если где-то не отвечу — это именно по этой причине.
              п.п.с. и отдельное спасибо за данный ресурс. Из того, что находил в сети, мне кажется, что он лучший.

              • Спасибо за лестный отзыв … это очень помогает в поддержании этого ресурса. 🙂

                Уведомления не приходят! Это фича. Пока пользователь не авторизован и не подтвердил адрес, в строке почты может быть что угодно.

                Теперь по Алгоритмам… Всё это по сути мат методы и вычислительные методы. Есть серия книг Искусство программирования. Там очень умые чуваки что то пишут. 🙂 Но в этих книгах весёлых человечков уже не будет. :,( Но полистать время от времени бывает полезным.

                Вот здесь меня в комментах понесло по поводу использования дополнительных переменных :
                http://coolcode.ru/reshaem-zadachi-abramyan-na-paskale-boolean22/

          • А по решению… я к тому, что если k=2 а l=n-1, и n =100. То циклу придётся перебрать все 100 чисел и на каждом сравнить if (idx < k || k > l).
            Для того, что бы не перебирать всё, я в своём решении пускаю два цикла:
            for (i=0; i < k-1; ++i) sum+=a[i]; for (i=l; i < n; ++i) sum+=a[i]; Но в принципе в некоторых случаях это будет не столь критично... например если k и l находятся "рядом"(относительно длинны массива)

  • Есть такая проблема… надо пробелов понапихать между знаками < и > иначе они воспринимаются как тег.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *