Программа, выводящая на экран числа с определенным интервалом в порядке возрастания (в порядке убывания)

Сайт не является учебником по программированию. Это только небольшой авторский сборник информации в помощь начинающим программистам.

В С++ для начинающих описанный ниже материал может оказаться достаточно сложным для восприятия, но это всё примитивы, наипростейшие задачи, с которых начинают очень многие программисты.

В прошлой статье было предложено решить задачу, вывод на экран последовательности натуральных чисел по убыванию или вывести на экран последовательность натуральных чисел по возрастанию. Суть задачи в том, что в зависимости от введенных значений программа принимает решение какие числа выводить на экран и принимает решение в каком порядке.

Так как я сам начинающий, то я испытал определенные затруднения с решением этой задачи.
Если вы очень долго мучились, но так и не поняли как это реализовать, то может быть предложенное решение поможет проанализировать упущенные моменты и закрепить полученные знания по работе с циклом for и вы продвинетесь на небольшой шажок к настоящему профессионализму.

Ввести в программу 2 числа начала и окончания последовательности и ввести интервал последовательности, после чего вывести последовательность натуральных чисел с определенным интервалом на экран

Вот как-то так звучит задание.
Например

  • вводим 1 и 5 – интервал 1 результат = 1 2 3 4 5
  • вводим 2 и 100 – интервал 2 результат = 2 4 6 8 …100 (кратное 2)
  • вводим 5 и 1 – интервал 1 результат = 5 4 3 2 1
  • вводим 1 и 10 – интервал 2 результат = 1 3 5 7 9 10

 

Если суть задачи уяснили, то смотрим исходный код:

Что можно сказать по коду. Код написан таким образом, что мы делаем один цикл, в котором проверяем хотим ли мы выйти. Если мы не хотим выходить, чтобы потом снова не запускать программу, то это то что нам нужно. Для этого цикла была определена переменная flag.

Цикл будет выполняться до тех пор пока переменная flag не примет значение 1. Но мы не меняем flag в условиях цикла – мы меняем его внутри цикла вводом символа с клавиатуры cin>>flag; Меняем мы переменную сразу после того как наш цикл выполнит нужные нам действия. – Программа сработала – повторить или нет? – Вот тут -то мы его и меняем, но это всё указано внутри цикла.

С определением остальных переменных должно быть всё понятно если вы досконально изучали прошлые статьи.
a b – Это начальное значение и последнее значение (своего рода границы нужного диапазона)
i – счетчик

Остальное, написанное тут должно быть более или менее понятно.

  • Тело программы
    Описание необходимых переменных (границы диапазона, счетчик, интервал)
    Определение значений для переменных
    Поиск элементов по определенному порядку
    Вывод на экран чисел по заданному интервалу
    Проверка хотим ли мы повторить вычисления

Этот материал нужен для того, чтобы иметь представление как работает счетчик внутри цикла и принципы циклических вычислений. Описаны наипростейшие примитивы, если углубляться, то можно придумывать для самостоятельной практики и успешно решать куда более сложные задачи, имея за спиной только такой скромный багаж знаний, который можно было получить От первой моей статьи до этой.

Старайтесь понять этот материал – без понимания знаний не будет. Циклические вычисления требуются невероятно часто.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

6 комментариев: Программа, выводящая на экран числа с определенным интервалом в порядке возрастания (в порядке убывания)

  • Начинающий говорит:

    для чего нужен

    в 16, 18, 20 и 22 строчке и почему n не где не определили

    Автор сайта отвечает:
    опечатка.

    переход на новую строку

  • Максим говорит:

    ну в 15 строке у вас кавычка потеряна.
    \n — не всегда верно, тем более раз пользуетесь плюсами то и пишите endl

    зачем использовать фор когда есть вайл

    в вашем случае проще было сделать так

    Автор сайта отвечает:
    что значит не всегда верно? Это всегда перенос строки.
    и что значит ”если плюсами”? endl используют не потому что плюсы, а или потому что не видят и не понимают разницы или потому что нужно выполнить очистку буфера потока после переноса строки. И вообще ленивым \n меньше букв.
    зачем использовать for? потому что известен предел. Циклы for и while в этой задаче взаимозаменяемы, но если изначально известно конечное, тогда обычно используют for, а иначе while. В примере конечное известно.
     
    у вас в примере ошибки (опечатки),
    да и читается он тяжело.

    • Артём говорит:

      Нормально читается, а ошибка разве что

      Автор сайта отвечает:
      Ну там еще одна, но у меня на сайте их всё равно больше.
      Я здесь просто съерничал. А читается этот кусочек некоторыми начинающими глазами правда тяжело. Судите не только по себе.

      Я только сегодня начал изучать программирование! По ком мне судить?

      Автор сайта отвечает:
      изучайте) не судите.
      хорошо, что для вас легко читается.
      стиль у меня написания не прощеписания, а максимальной отдачи информации даже тяжело вникающим людям.
      когда человек полностью врубается в сам принцип, то ему несложно упростить код дальше так, как ему удобно.
      я вот такой упрощенный код покажу, например в статье, а кто-то не сообразит, что это условие можно внутри цикла разбить на части. Потом будет у него какое-то сложное условие в задаче и он будет стараться запихать его как в таком примере “прощеписания”, и чем сложнее условие, тем больше у него трудностей возникнет.
      В конкретном случае пример Максима, может, и более правильный, чем мой. Тяжелее только в понимании порядка действий работы компилятора (несложно, но есть такое дело).
      Вот и всё.

  • Влад говорит:

    Автору сайта большое спасибо! Рад за Максима, что он все «ловит на лету», но Админ прав, в таком объеме информации вполне возможны опечатки, а написание кода у Админа читается легко и понятно!!! Максиму спасибо за найденные опечатки!

  • Роман говорит:

    Я только не понял что означает & ? И для чего оно там, всё остальное понял.

    Автор сайта отвечает:
    не &, а && – логическое условие И. Если только все вместе условия выполняются, то выполнить что-то.

  • Аноним говорит:

    мсвтупил нно не во все

    основа понятна

     

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

Ваш e-mail не будет опубликован.

Поиск

 
     
Яндекс.Метрика

НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Девушка-программист едет в трамвае, читает книгу. Старушка смотрит на девушку, смотрит на книгу, крестится и в ужасе выбегает на следующей остановке. Девушка читала книгу "Язык Ада"

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок