Уроки по C++.5 урок.Циклы

Поділитися
Вставка
  • Опубліковано 15 жов 2024
  • Торрент: rutracker.org/f...
    forum.manysourc... - комментарии оставляйте здесь/
    В данном уроке научимся строить циклы в C++.

КОМЕНТАРІ • 279

  • @KennyMcKormic123
    @KennyMcKormic123  11 років тому +21

    Блок схема - это просто, а вот блок схуема - это креативненько.

  • @wildmass2042
    @wildmass2042 9 років тому +43

    33:00 любое число в нулевой степени равняется единице

    • @ОлегАлбаут
      @ОлегАлбаут 7 років тому +9

      facepalm,любое число в нулевой степени, за исключением нуля, равно единице

    • @boukyakunosenritsu
      @boukyakunosenritsu 5 років тому

      @@ОлегАлбаут не равняется а ПРИБЛИЖАЕТСЯ. В реальных расчётах мало разницы, но принципиально (в теоретике) она есть.

  • @andreytarasevich8126
    @andreytarasevich8126 10 років тому +19

    Код про зерна на шахматной доске содержит неприятную необнаруженную ошибку, которая видна невооруженным взглядом, если внимательно посмотреть на вычисления. Начальное значение переменной 'result' равно 1. На первой итерации главного цикла к ней прибавляется значение 2 (т.е. 2^1), на второй итерации к ней прибавляется значение 4 (2^2), затем 8, 16 и т.д. и т .п На 64-й итерации главного цикла к 'result' будет прибавлено, как несложно догадаться, 2^64.
    Таким образом, эта программа пытается вычислять сумму 1+2+4+8+...+2^63+2^64. Это очевидным образом неправильно. Правильная сумма должна содержать слагаемые вплоть до 2^63, но не 2^64. Другими словами данная программа пытается вычислить количество зерен на 65-клеточной шахматной доске.
    Почему же финальное значение 'result' получается правильным? А потому, что вычисление степени двойки происходит в рамках 64-битного беззнакового типа 'unsigned long long'. Величина 2^64 не помещается в диапазон типа 'unsigned long long'. При вычисленнии последнего слагаемого происходит переполнение и заворот беззнакового целого с результатом 0. Таким образом, вместо добавления в сумму значения 2^64 эта программа на последней итерации цикла прибавляет в сумму 0. Понятно, что 0 сумму не меняет и ответ остается правильным.
    То, что на последнем этапе вычисления значение суммы не меняется осталось незамеченным потому, что отладочная печать в данной программе делается _до_ того, как вычислено новое значение 'result'. Т.е. по какой-то странной причине автор кода все время печатает "предыдущее" значение 'result'. Финальное значение 'result' мы не видим.
    Если вы используете а данной программе более широкий целочисленный тип (например тип '__int128_t' в компиляторе GCC) и тем самым исключите переполнение при вычислении степени, а также добавить печать финального значения 'result', то вы увидите, что это значение 'result' неверно. Как я сказал выше, программа на самом деле вычисляет количество зерен на 65-клеточной шахматной доске :)
    Чтобы это программа не занималась подобной бессмыслицей, следует исправить условие повторения главного цикла на строгое 'j < 63', а отладочную печать внутри цикла (ели она вам там нужна) перенести ниже, после вычисления нового значения 'result'.
    Отдельно стоит заметить, что завел константу 'N' для описания количества клеток на доске, что есть хорошая идея. Тем не менее константа 'N' не используется вообще нигде в коде (???)
    Также идея переинициализировать значение 'pow' единицей _в_ _конце_ главной итерации порождает странный неудобочитаемый код. 'pow' должно инициализироваться непосредственно перед вычислением. Да и объявлено в таком варианте 'pow' должно быть внутри главного цикла, ибо снаружи оно никому не нужно.

    • @demidborodin8757
      @demidborodin8757 9 років тому +3

      Спасибо, за столь подробное объяснение!

    • @ЧеловекРавнодушный
      @ЧеловекРавнодушный 7 років тому

      Как может возникнуть ошибка, если на первой клетке 1 зерно, на первой и второй в сумме 3 зерна и т. д.??

  • @Антон-е8б5н
    @Антон-е8б5н 8 років тому +1

    Спасибо тебе большое за этот прекрасный курс, очень всё круто преподносишь.

  • @0ArtGames0
    @0ArtGames0 9 років тому +11

    чувак, большое спасибо тебе за твои уроки

  • @andriiusatov6750
    @andriiusatov6750 9 років тому +1

    Минут 15 сидел, не понимал для чего же второй цикл был нужен, когда понял что он нужен для того чтобы приумножать значение pow перед тем как прибавлять его к результату еще пару минут тупил почему же выполняется только первая операция после цикла, вспомнил что Денис говорил что если не открывать { } скобки то выполняется только первый оператор и все стало на свои места. Тупняк был конкретный, но было весело самому додуматься. Спасибо, отличные уроки.

    • @kaynsolo
      @kaynsolo 8 років тому

      Судя по твоему объяснению, почему бы его не приумножить в первом цикле?

  • @pashafliapps1471
    @pashafliapps1471 9 років тому +14

    Цикл в цикле в цикле это как сон внутри сна, внутри сна ;)

    • @CB9I3H0U
      @CB9I3H0U 6 років тому

      не. это еще хуже :)

  • @marktrane
    @marktrane 9 років тому

    Спасибо, Денчик, очень интересно! Всё получается.

  • @Cada0x1
    @Cada0x1 10 років тому

    Спасибо за уроки)
    Вот моя альтернатива по поводу зерен
    int main ()
    {
    int x = 2; // Номер хода
    unsigned long long a = 1; // a=1 начальное количество зерен
    for(int i(0); i < 63; i++) // 0-63 (64 раза надо умножить переменную "а" на 2)
    {
    cout

  • @Ayaks74
    @Ayaks74 10 років тому

    Большое спасибо за подробные разъяснения!
    Выскажу свое мнение - в заключительном упражнении по зернам не всем и не сразу будет понятна конструкция с двумя "for" и переменными "i и j". Предлагаю свой более прозрачный вариант:
    const int a(2), n(64); // основные константы - множитель и число клеток
    unsigned long long cell(1), general(1); // начальные значения для 1-й клетки
    cout

    • @KennyMcKormic123
      @KennyMcKormic123  10 років тому

      Суть упражнения была показать что можно использовать вложенные циклы, ну оптимизация конечно у тебя лучше

    • @Ayaks74
      @Ayaks74 10 років тому +2

      Denis Markov
      На эту тему есть красивое упражнение - таблица умножения с одним вложенным циклом. Кому интересно, попробуйте придумать сами, ну или посмотрите код и сделайте по памяти. Наткнулся в учебнике Хенкеманса, Ли. Сразу захотелось повторить)
      Выглядит так:
      | 1 2 3 ...
      -----------------
      1 | 1 2 3 ...
      2 | 2 4 6 ...
      3 | .. .. .. ...
      Код:
      cout

  • @reekerkepper2175
    @reekerkepper2175 10 років тому

    Денис к тебе вопрос.Можно ли если ты уже скомпилировал программу как нибудь декомпилировать эту программу или посмотреть ее код/скрипт?

  • @KennyMcKormic123
    @KennyMcKormic123  11 років тому +22

    Вообще корень может быть отрицательным, просто получится комплексное число

    • @Minecrafter1101100
      @Minecrafter1101100 10 років тому

      Кстати да! Если z^2=-25, то будет z = 5*i

    • @KennyMcKormic123
      @KennyMcKormic123  10 років тому +9

      mrcomedytiger Вообще-то может i^2 = -1; это называется мнимое единицей

    • @МаксимМ-л8р
      @МаксимМ-л8р 10 років тому

      Denis Markov я хоть и в восьмом классе, но хочу сказать :хочешь поспорить с учеными ?

    • @AlexMamchur
      @AlexMamchur 10 років тому +21

      Максим М не парься. Позже узнаешь что такое мнимая единица.

    • @TestTest-hv5vt
      @TestTest-hv5vt 10 років тому +6

      Максим М, пацан, не парься, для твоего мозга, пока, это очень сложно.

  • @34gek34
    @34gek34 11 років тому

    Спасибо, за ответ. С нетерпением жду новых уроков.

  • @KennyMcKormic123
    @KennyMcKormic123  11 років тому

    в зависимости от типа данных если char введется символ '1' , если int,double - 21 или 21.00 , если строка "21+35"

  • @egoreks
    @egoreks 9 років тому

    Дим, спасибо за уроки! Все нравится, но не понял про цикл внутри цикла, можешь на простейшем примере объяснить, как он выполняет первые 4 операции
    допустим
    unsigned int a = 3;
    for (int i = 0; i < 20; i++)
    {
    for (int j = 0; j < i; j++)
    a *= 2;
    cout

  • @KennyMcKormic123
    @KennyMcKormic123  11 років тому

    data[0]-16 - это выражение результат которого должен быть целый тип, а

  • @ProgScriProf
    @ProgScriProf 9 років тому +2

    Еще раз повторюсь, что мне очень нравятся твои уроки. Но мне кажется, что функцию sqrt можно использовать без подключения cmath. Мне всегда казалось что это стандартная функция (как сложение, вычитание, ...). Я проверил. У меня подключены только iostream и conio.h и я спокойно использую функцию sqrt.

  • @anticorruptway
    @anticorruptway 10 років тому

    Спасибо за доступное изложение!
    У меня возведение в степень получилось так:
    int a,b;
    cout > a;
    cout > b;
    unsigned long long result=a, pow;
    for (int i(1); i

  • @tamogot4i
    @tamogot4i 9 років тому

    Ден, скажи будь ласка в чому помилка? Це по д/з.
    int main() {
    setlocale(LC_ALL, "Russian");
    cout

  • @КонстантинГлазков-п7к

    Добрый день!
    А почему если цикл записать в условие, то при вводе текста else не работает?
    #include
    #include
    #include
    using namespace std;
    int main()
    {
    setlocale(LC_ALL, "Russian");
    int n;
    unsigned long result = 1;
    if (!(cin >> n) || (n >= 0))
    {
    for (int i = 1; i

  • @MichioSempai
    @MichioSempai 8 років тому +2

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

    • @denisnasibullin7779
      @denisnasibullin7779 8 років тому

      Школьная информатика в помощь (учебник с алгоритмами)

  • @ТайныйЯ-к3ь
    @ТайныйЯ-к3ь 9 років тому +1

    С домашним заданием, конечно, красава. Вроде и учишь толково, но так лажаешь с этим. :D Чего только стоит "схуема", "клавиатурыф", "отоброзить".

  • @KiIIerJo
    @KiIIerJo 8 років тому

    Подскажите пожалуйста моя задача решена верно или нет? В условии что вы озвучили 30:31 должно выйти 1, 2, 4, 8... то есть логично что дальше будут цифры удваиваться. Но у Вас уже на третьей клетке 7 зерен, а на 4... 15, как итог в конце сильно разнящиеся цифры с поставленным условием задачи 37:09.
    #include "stdafx.h"
    #include
    #include
    #include
    using namespace std;
    int main()
    {
    setlocale (LC_ALL,"rus");
    const int N = 64;
    unsigned long long Zerno = 1;
    cout

    • @dan.gorbunov
      @dan.gorbunov 7 років тому

      Это правильное и самое простое решение. Сложения в условии задачи не было

  • @АлексейЛевцов-г8г
    @АлексейЛевцов-г8г 10 років тому +2

    Спасибо за урок, вот мой пример со степенями
    #include
    #include
    #include
    using std :: cout;
    using std :: cin;
    using std :: endl;
    int main()
    {
    setlocale (LC_ALL, "Russian");
    unsigned long long a, res;
    int z,x;
    char q;
    cout a;
    x=a;
    cout > z;
    for (int i=2; i

  • @PashaTehnik-d4i
    @PashaTehnik-d4i 11 років тому

    Извините... Один вопрос- сделал калькулятор с циклом while через if и else первое действие у меня сумма а последнее деление (в цикле). Так вот когда я выбираю сумму или что то другое прога просчитывает потом делает деление а потом цикл повторяется. Как сделать так чтобы цикл останавливался посчитав значение и потом снова спрашивал действие??

  • @lllZarakilll
    @lllZarakilll 8 років тому

    Задача в конце урока, ее я решил, но добавил две проверки, что бы нельзя было вводить 0 или меньше, и допустим ограничитель строк(допустим вывели больше 30 строк он скажет об этом)
    int s;
    cout > s) || (s

  • @justcode5626
    @justcode5626 3 роки тому

    Реально полезное видео!

  • @34gek34
    @34gek34 11 років тому

    Доброго времени суток. Вопрос конечно не в тему, но всетаки подскажите, что означают двойные треугольные скобки в этом выражении (data[0] - 16)

  • @KlinovAS
    @KlinovAS 7 років тому

    помогите понять. скачал сервер на C++. Обычный тестовый, без логики входной информации, на сокете. Инициализируется сокет - это все понятно. Я про сокет практически знаю из VB все. Работал вплотную и с UDP и с TCP практика есть, и файлы по своему протоколу ганяю и могу дистанционно доставать что хочу и управлять. Хочу сервер на C++. Меня удивила обычная конструкция цыкла for(;;){} Я так понял что это вечный цыкл. Догадался от JS, там точно так же. Вроде все понятно. Ставлю точку остановки внутри цикла. Программа не останавливатся. А когда обращаюсь к сокету по 127.0.0.1 по 80 порту, то срабатывает останов в моей точке. И тут я вообще недопонимаю нихрена. А как так? В визуал бейсике я могу также цыклить, но зависает тогда все. Нужно делать как минимум DoEvents чтобы дать возможность другим процессам работать. К примеру я люблю давать прерывание на таймер, чтоб он что-то перепроверил, чтоб на экране что-то анимировалось или просто вывелась информация. Тут я не понял смысла цыкла.

  • @kino46danila
    @kino46danila 8 років тому

    Уважаемый Denis Markov . пытаюсь самостоятельно выучить язык программирования с помощью Ваших видео уроков. Спасибо большое, всё доступно объясняете. Но не могли бы Вы мне помочь в решении этого задания, а точнее объясните как это должно происходить поэтапно. Вот собственно сама задача - Дано целое число N которое больше 0. Найти сумму 1 + 1/2 + 1/3 + ... + 1/N (вещественное число) ....... как правильно с дробями работать через циклы ?

  • @DustFire
    @DustFire 9 років тому

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

    • @IBlackCatter
      @IBlackCatter 9 років тому +1

      Георгий Хортайл с++ нужен только для сложных научных расчётов, для написания программ используется ассемблер

    • @DustFire
      @DustFire 9 років тому

      IBlackCatter а ну ок тогда! не знал просто

    • @askhatbaimukhamedov8692
      @askhatbaimukhamedov8692 9 років тому

      Mr Askot не слушай всяких невежд!

  • @mykola-rohoza
    @mykola-rohoza 8 років тому

    Спасибо за ваши уроки.
    На мой взгляд каждый раз считать степень не лучшее решение, вот так несколько лучше.
    И 2 в 64 все же не влазит, не подскажите как его посчитать и вывести
    int main(int argc, char** argv) {
    const int N = 64;
    unsigned long long result = 1, pow = 1;
    int i(0);
    do{
    pow *= 2;
    result += pow;
    ++i;
    cout

  • @bratolomeo4038
    @bratolomeo4038 8 років тому

    Спасибо!, очень интересно!

  • @Cocosik72
    @Cocosik72 9 років тому +2

    unsigned long long i(1), b(1), result(1);
    const int N = 64;
    do
    {
    cout

  • @АлесяОлеся-е7е
    @АлесяОлеся-е7е 9 років тому

    Скажите пожалуйста, а как мне создать диалоговое окно типо, программа спрашивает у меня, Как настроение, а я пишу допустим, не выспался, а оно отвечает, Очень Жаль, или я пишу что я побегал и победил, а она пишет я рад за тебя! Буду рад ответу, на ранние спасибо!

  • @loyaartemovna4405
    @loyaartemovna4405 9 років тому +2

    скажите пожалуйста,,, а почему в for еще один for ???,,, и что это значит???,,, не понятно про100 для чего здесь 'j' и 'pow' .. еще эта строка не понятна (pow*= 2)… я этот урок не поняла,,,, объясните пожалуйста,,, это важно… заранее спасибо…

    • @KennyMcKormic123
      @KennyMcKormic123  9 років тому +1

      Цикл внутри цикла называется вложенным циклом и его идея очень проста, на каждой итерации цикла мы запускаем новый цикл. Тоесть если внешний for имеет 5 итераций, а вложенный for 7 итераций, то всего будет 5*7=35 итераций. А в задаче переменная pow хронила 2^n, чтобы найти данное число мы должны 2 умножить на само себя n раз, вот и появляется вложенный цикл. 2^5 = 2*2*2*2*2. Поэтому на каждой итерации внешнего цикла, запускали вложенный цикл, чтобы возвести 2 в n степень.

    • @mikes9455
      @mikes9455 8 років тому

      +Денис Дьячков , согласен, для начинающего лучше отображать все скобки, а то я тоже вникал долго в то что pow находится во второмцикле

    • @kaynsolo
      @kaynsolo 8 років тому

      Во втором цикле for работает только строчка pow *= 2; Строчка
      cout

  • @whiteandy
    @whiteandy 11 років тому

    Как работает cin в случае когда вводим "21+35"? Он считывает число пока может?

  • @singlebw4065
    @singlebw4065 10 років тому

    как сделать что бы выходило из программы только при нажатии на 'n', а на все остальные буквы выдавало не верный ввод. пытался сам сделать но что то не доходит ((

  • @sergeypopov3728
    @sergeypopov3728 7 років тому

    решил несколько по другому. понимаю, что пример вложенного цикла, но он тут сильно лишний
    unsigned long long result(0), pow(1);
    for (int i(0); i < 64; i++)
    {
    result += pow;
    cout

  • @sanapopov9105
    @sanapopov9105 7 років тому

    Да что такое не-стыковки. Ты же говорил что на 1 клетку 1 зерно, на вторую 2 зерна, на третью 4 зерна, а на четвертую клетку 8 зерен итд. Значит по этой логике должно получится совсем другое число. Если я не прав пожалуйста объясни чего я не понял? Вот какой код я написал.
    #include < iostream>
    using namespace std;
    int main()
    {
    unsigned long long a = 1;
    unsigned long long b = 1;
    while (a

  • @aidenforbidden6518
    @aidenforbidden6518 8 років тому +1

    Справился со вторым заданием, сенсей!
    #include
    #include
    using std::cout;
    using std::cin;
    using std::endl;
    using std::ios_base;
    int main() {
    setlocale(LC_ALL, "Russian");
    const int x = 2; //константа для вывода таблицы степеней 2
    int n = 0;//количество выполнения цикла
    unsigned long long result = x;
    int j = 0; //для циклов while и do while
    cout > n)) {
    cout

  • @artov_music
    @artov_music 7 років тому

    каким образом число зерен увеличивается, если мы pow каждый раз приравниваем к единице?

  • @pandemil9296
    @pandemil9296 8 років тому

    2 ^ 0 = 1 (а не 0)
    Спасибо вам за ваши видео-уроки!)

  • @ОлександрЛазарець-и7з

    мой вариант степени не только 2, но добавил чтобы любое число можно было ставить. (домашка)
    #include
    #include
    using namespace std;
    int main() {
    setlocale(LC_ALL, "ukr");
    cout n;
    for (int i = 0; i < n; i++) {
    p = p * a;
    cout

  • @TheMyzonchik
    @TheMyzonchik 9 років тому +3

    Задание с шахматами удалось решить намного проще
    unsigned long long j;
    for (int i=1;i

    • @nickbarton5251
      @nickbarton5251 9 років тому

      ерунда какая то

    • @TheMyzonchik
      @TheMyzonchik 9 років тому

      Nick Barton почему ерунда? результат тот же

    • @nickbarton5251
      @nickbarton5251 9 років тому

      согласен. Круто

    • @jasumy1
      @jasumy1 9 років тому +2

      +Oleksandr Golodiuk или чтобы узнать сколько на каждом квадрате и отдельно общую сумму:
      unsigned long long j = 1, sum = 0;
      for(int i = 1; i

  • @daniilgolubev9761
    @daniilgolubev9761 8 років тому

    Зачем перед getch ставить нижнее подчеркивание? У меня и без него работает

  • @wangulsan3037
    @wangulsan3037 7 років тому

    Не понял описания задачки о мини-калькуляторе, где как я понял нужно сделать было и switch и if-else. Ломал голову, как туда еще и if-else запилить с функционалом, пока не придумал вот это. Может кому интересно будет:
    #include
    #include "conio.h"
    using namespace std;
    int main()
    {
    setlocale(0, "russian");
    int a, b;
    char c;
    cout > a; cin >> c; cin >> b;
    if (b == 0)
    if ((c == '/') || (c=='%'))
    {
    cout

  • @kirillyushin9809
    @kirillyushin9809 10 років тому

    Здравствуйте, у меня возникла проблема. Я не могу построить программу. Ну точнее она запускается, но там пусто и в кампеляторе пишет
    'Lesson 5.exe': Loaded 'C:\Windows\SysWOW64
    tdll.dll', Cannot find or open the PDB file
    'Lesson 5.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
    'Lesson 5.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
    'Lesson 5.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Cannot find or open the PDB file
    'Lesson 5.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Cannot find or open the PDB file
    Можно ли что-нибудь с этим сделать? Я пробовал переустановить, чтобы восстановить возможно потерянные файлы, но не помогло.

    • @СергейСуплин
      @СергейСуплин 10 років тому

      Возможно нужно убрать " ; " за скобками неравенства цикла while.

  • @tan_ds
    @tan_ds 11 років тому +3

    конечно, очень полезные уроки и как программисту я хочу сказать спасибо) но - "ложить" меня убило, плюс, 2 в нулевой степени = 1. так, к сведению) а в целом спасибо)

  • @danryb3128
    @danryb3128 11 років тому

    Ты музыку к интро и аутро сам писал??

  • @Ar4ie007
    @Ar4ie007 10 років тому

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

    • @ЕлдарМұхтарұлы-ч6щ
      @ЕлдарМұхтарұлы-ч6щ 10 років тому +1

      тоже самое

    • @Cada0x1
      @Cada0x1 10 років тому

      Ты только *.exe на других компьютерах ставил? Если да, то прихвати еще *.cpp или *.h файл. (В котором ты код писал). По идее должно работать, если все включенные в программе библиотеки есть на компьютере.

  • @АлександрШайковский-ч3ш

    Во первых спасибо за уроки, они очень помогают в изучении C++ и они очень интересны.
    Во вторых есть вопрос про шахматиста и зерна. Я долго думал зачем 2 цикла. Вы сказали, что это цикл внутри цикла следовательно в итоге циклов 64*64? От этого же зависит быстродействие?
    А если во втором цикле j присвоить 0 и сразу сделать равным 0 то останется 60 циклов?
    Вот что у меня получилось.
    const int N = 64;
    unsigned long long res = 1, paw = 1;
    for (int i = 1; i

  • @ЕвгенийОнегин-ы5р
    @ЕвгенийОнегин-ы5р 10 років тому +1

    Помогите! Я откомпилировал свою программу в Visual Studio и отправил друзьям, у них на при запуске exe файлы, который я отправил, выдаётся ошибка, типа не является файлом win32, и даже когда я создаю новый проект и выбираю консольное окно win32 и отправляю снова, у них та же ошибка, в чём дело?

    • @ЕвгенийОнегин-ы5р
      @ЕвгенийОнегин-ы5р 10 років тому

      Нет, не установили. Смысл тогда программы писать, если их запустить люди не могут без Visual Studio? Может какие-то файлы надо в папку засунуть или ещё что-то?

    • @kep261
      @kep261 10 років тому

      Евгений Онегин просмотр-- окно свойств-- релиз вин32

  • @ivanlikhoded9617
    @ivanlikhoded9617 10 років тому +1

    Подскажите что означает "return 0" и "return -1" и в каких случаях используются и для чего? как и getch() не совсем уловил.

    • @АлексейЛевцов-г8г
      @АлексейЛевцов-г8г 10 років тому

      Это завершение программы, если код 0 то программа завершилась успешно, остальные цифры ставишь на ошибки

    • @ГалинаПанкова-к1л
      @ГалинаПанкова-к1л 10 років тому

      когда ты начинаешь программу указываешь все #include пишешь int main() {какая то функция}
      если у тебя перед функцией main стоит int то результатом должно быть число.
      поэтому в конце мы возвращаем return 0; как успешное окончание.
      мы можем записать void main () {}
      тогда нам ничего возвращать не нужно так как void говорит компилятору что функция ничего не возвращает.

    • @iTrololo666
      @iTrololo666 10 років тому

      Галина Панкова за void main нужно бить по рукам

    • @ГалинаПанкова-к1л
      @ГалинаПанкова-к1л 10 років тому

      iTrololo666 да но это работает

    • @iTrololo666
      @iTrololo666 10 років тому

      Галина Панкова а потом вдруг в один прекрасный момент перестанет...

  • @ishishkin
    @ishishkin 11 років тому

    Спасибо Вам!

  • @topandroid12
    @topandroid12 9 років тому +6

    Денис, зачем Вы так намудрили в задаче с зернами?
    Все сделал намного проще, вместо где-то 33 строк кода у меня вышло 15.
    #include
    #include
    using namespace std;
    int main()
    { setlocale(LC_ALL, "Russian");
    unsigned long long x=1; int i;
    for(i=1;i

    • @calmis87
      @calmis87 9 років тому

      Valik Troyan Действительно ваш вариант короче и проще, но я немного исправил#include
      #include
      using namespace std;
      int main()
      { setlocale(LC_ALL, "Russian");
      unsigned long long x=1; int i;
      cout

    • @МаксимКучумов-к8с
      @МаксимКучумов-к8с 8 років тому

      +Valik Troyan Только x надо объявить равным 0.

    • @CB9I3H0U
      @CB9I3H0U 6 років тому

      помоему всеравно что-то будет не так :) А точнее для первой клетки вам прога выдаст уже значение и для второй ... что как-бы не есть гуд...

  • @ShtrihsfurerBadikKurlen
    @ShtrihsfurerBadikKurlen 5 років тому

    Помогите плиз, я хочу продолжить программу, а оно мне пишет "продолжить программу" отвечаю y опять тоже самое

  • @1234bire
    @1234bire 9 років тому

    Добрый день дошел до циклов и не пойму откуда берется i?

    • @kaynsolo
      @kaynsolo 8 років тому

      i - переменная, которая управляет первым циклом for

  • @broels1559
    @broels1559 8 років тому +16

    исправь в титрах ошибки, а то "схуему" как-то не очень красиво

  • @multi_gamer3794
    @multi_gamer3794 10 років тому

    а что значит операция присваиваижаниа (прашу ответить)

  • @MrGeodesist13
    @MrGeodesist13 2 місяці тому

    Может кто-то прочтет:
    Данный материал хорош, но не для новичков, который только начали изучать язык.
    Здесь фигурируют уже вложенные циклы, которые еще нужно понять, а так сразу и не въедешь в тему.
    Поэтому лучше узнать про циклы где-то еще.

  • @orkhanalizade2863
    @orkhanalizade2863 8 років тому

    Я так сделал, правда понадобился, но я вижу, что он уже включен
    int main()
    {
    setlocale(LC_ALL, "Russian");
    unsigned long long res = 0, a;
    for(int i = 0; i < 64; i++)
    {
    a = pow(2,i);
    res += a;
    }
    cout

    • @orkhanalizade2863
      @orkhanalizade2863 8 років тому +1

      и 2 в 0-ой степени это 1, а не 0)

  • @ДмитрийПрохоров-г2е

    Как на счет деления без остатка? 5/6 не должно равняться нулю
    case '/': if (S1%S2 == 0)
    cout

  • @wangulsan3037
    @wangulsan3037 7 років тому +1

    Я так и не понял, зачем было пилить этот цикл for (j = 0; j

  • @АлесяОлеся-е7е
    @АлесяОлеся-е7е 6 років тому

    Не сказал бы что логические операции с логическими операторами && || это "минус" именно плюсов, все языки имеют этот вид оптимизации исполнителя, это в масштабных проектах реально увеличивает скорость. И да, даже не самый быстродейственный интерпретируемый, без JIT язык под рназванием JS имеет такое свойство, сам урок хороший спасибо!

  • @TheNazarUA
    @TheNazarUA 9 років тому

    Зачем писать перед cout и cin std :: ? если можно написать using namespace std;

  • @dobrij3919
    @dobrij3919 10 років тому

    сделал калькулятор и выдает ошибку оператор switch не содержит метку "case" или "default" в чем проблема???

  • @create653
    @create653 8 років тому

    Почему для 65 клеток и больше повторяется результат для 64й клетке?

  • @НикитаЛазарев-ш4у
    @НикитаЛазарев-ш4у 10 років тому +4

    33:06
    2 в нулевой степени единица.

  • @СергейКривов-л7н
    @СергейКривов-л7н 9 років тому

    Денис, очень нравятся твои уроки, спасибо! Но в дз из прошлого урока ты допустил ошибку в формуле.
    D = (b*b) (ты не смог возвести в степень и решил в коэф b. подставить 2, что плохо) p.s. вставив любое др число в коэф b, например 3, то формула уже будет недействительна.
    Сам долго мучился в поисках знака "возведения в степень, но так и не нашел.
    P.S. Знак "^" не работает.

  • @tolegenaidynov513
    @tolegenaidynov513 9 років тому

    В матрице размером N×M упорядочить строки по возрастанию суммы их элементов. Помогите пожалуйста

    • @Полинкаихомка
      @Полинкаихомка 8 років тому

      +Tolegen Churchitbaev
      double *count=new double[N];
      for(int i=0;i

    • @Полинкаихомка
      @Полинкаихомка 8 років тому

      +Tolegen Churchitbaev Сори, первый комент не тебе, вот правильный
      const int M=100;
      const int N=100;
      int i,j;
      ///матрица
      double **mat = new double*[M];
      for (i=0;i

    • @tolegenaidynov513
      @tolegenaidynov513 8 років тому

      Полинка спасибо

  • @П.Шевчук
    @П.Шевчук 10 років тому

    А почему у тебя невернЯА операция?

  • @CatTheGarlic
    @CatTheGarlic 10 років тому

    include
    #include
    using namespace std;
    int main() {
    int a, b, c,x1,x2;
    cout > a;
    cout > b;
    cout > c;
    x1=((-b-sqrt(b*b-4*a*c))/2*a;
    x2=((+b+sqrt(b*b-4*a*c))/2*a;
    cout

    • @KennyMcKormic123
      @KennyMcKormic123  10 років тому +1

      1. Тип int: int a, b, c,x1,x2; результаты должны быть вещественным числом. то есть типа double.
      2 приоритет операций и лишняя скобка x1=((-b-sqrt(b*b-4*a*c))/2*a; Сначала он разделит на 2 а потом умножит на a. Нужно так x1=(-b-sqrt(b*b-4*a*c))/(2*a);

    • @CatTheGarlic
      @CatTheGarlic 10 років тому

      Denis Markov Спасибо) отличные уроки)

    • @mrcomedytiger
      @mrcomedytiger 10 років тому +1

      почему у тебя в этой строке" x2=((+b+sqrt(b*b-4*a*c))/2*a; " стоит +b Bank of America

    • @ivankd3142
      @ivankd3142 8 років тому

      Потому что у тебя /2*a

  • @sergiihenry4501
    @sergiihenry4501 8 років тому +1

    const int N = 64;//шахматное поле
    unsigned long long Result = 0 , Pow = 1;
    for (int i = 1; i

    • @владиус
      @владиус 8 років тому

      +Сергей Генри
      Тогда объясни почему не работает такой вариант?
      unsigned long long res = 1, pow = 1;
      for (int i(1); i

    • @sergiihenry4501
      @sergiihenry4501 8 років тому

      +Мацуда Тота unsigned long long res = 0, pow = 1;
      for (int i(1); i

  • @skaysh
    @skaysh 10 років тому

    Вместо || можно написать | , тогда будут проверяться оба условия, так же и с &&.

  • @denisnasibullin7779
    @denisnasibullin7779 8 років тому +2

    Ошибка: в твоей if и else (где рубли) при вводе 11 выдаёт у вас 11 рубль

    • @De_collapse
      @De_collapse 4 роки тому

      Да, Денис не предусмотрел исключение, когда последние две цифры числа лежат в отрезке от 12-ти до 14-ти.

  • @kostiasidorovich3954
    @kostiasidorovich3954 10 років тому

    Спасибо большое..Классный уррок..У меня почему то консоль вывоlа очень быстро закрываеться , почему...?

  • @АртурХачатрян-ж4ш
    @АртурХачатрян-ж4ш 9 років тому

    Как создать видео чат?

  • @Minazavr
    @Minazavr 11 років тому

    а почему новые уроки с нуля?

  • @RuslanKoptiev
    @RuslanKoptiev 9 років тому +1

    Всё очень усложнено с последней задачей, код в реальности намного проще
    int main()
    {
    unsigned long long pow = 1, result = 0;
    for (int i = 1; i < 64; i++)
    {
    pow *= 2;
    result += pow;
    cout

  • @elementshadow9767
    @elementshadow9767 9 років тому

    Что-то изобретатель приофигел))

  • @Dr_Bars
    @Dr_Bars 10 років тому

    В целом уроки хороши, но зачем ставить цикл в цикле (вариант с зернами на доске), когда можно записать проще и понятнее, например вот так=>
    const int N = 64;
    unsigned long long zerno = 1, vsego = 1;
    for (int i = 1; i

  • @apptokdev
    @apptokdev 11 років тому

    спасибо огромное

  • @АлексейКозин-ю8к
    @АлексейКозин-ю8к 10 років тому

    Что бы понять что такое комплексные числа посмотрите какой нибудь фильм про развитие математики(абстракции нашего мира). Ноль вам понятен хотя его раньше не было, отрицательные числа тоже понятны и их тоже раньше считали чем то фантастическим. Поймите математика это абстракция так будет проще понимать всё что угодно но при этом подкреплено всё логикой.

  • @ВладимирТокарь-в8п
    @ВладимирТокарь-в8п 9 років тому

    У меня выдает ошибку с quit
    'quit' : undeclared identifier
    как исправить ?

    • @ВладимирТокарь-в8п
      @ВладимирТокарь-в8п 9 років тому

      #include
      #include
      #include
      using namespace std;
      int main()
      {
      int i(1);
      do
      {
      cout > exit && exit == 'y');
      _getch();
      return 0;
      }

    • @АнтонСтупак-т1в
      @АнтонСтупак-т1в 9 років тому

      Владимир Токарь во первых,ты не подключил русский язык
      во вторых,зачем тебе тут целое число i,если ты его не используешь?зачем подключил всю библиотеку std, если используешь только cout и cin?зачем cmath?
      3,ты не задал exit(а чем задавать(int,double,char и другие) подумай сам).

    • @ВладимирТокарь-в8п
      @ВладимирТокарь-в8п 9 років тому

      Антон Ступак Спасибо большое :) Я 0 в этом, начал вот пробовать. Зачем подключил ? Осталось все с прошлых программ. Попробую разобраться сам, спасибо за помощь!

    • @АнтонСтупак-т1в
      @АнтонСтупак-т1в 9 років тому

      Владимир Токарь если хочешь понимать,что пишешь,то не копируй ничего с прошлых программ,а пиши все с 0 так сказать,и в голове думай что означает строка которую ты написал,и тогда начнешь понимать( ну я так все понимаю прекрасно)

  • @stand1k
    @stand1k 10 років тому

    пацаны што ет такое я блин все норм ввожу ну прям все а мне пишет што 1 ошыбка ну все прям в точ и ет повсюду ну типа на всех прогах што делать?

  • @Максим-е8к8ь
    @Максим-е8к8ь 4 роки тому

    а такое решение можно считать правильным?
    int Ruble;
    cout > Ruble;
    cout

  • @РустемДанияр-с7ь
    @РустемДанияр-с7ь 5 років тому

    Почему просто не напишешь using namespace std;

  • @PavelPortal
    @PavelPortal 10 років тому

    на 35:53 почему pow = 1???????

  • @smbatadamyan220
    @smbatadamyan220 8 років тому

    вобшето програма про зерен ненужная ведь сраз же видно результат = 2в 63 степени + 2 в 62 и так до 0 а это предел типа unsigned long long

  • @topandroid12
    @topandroid12 9 років тому

    И кстати, 64 клетку посчитало как и 63.
    Нужно еще больше диапазон, чем unsigned long long.

  • @CB9I3H0U
    @CB9I3H0U 6 років тому +1

    Что-то намудрили тут с зернами... Код в "две строки" и без мозголомства и циклов в циклах:
    unsigned long long z = 1, sum = 1;
    for ( int i(1); i

  • @oclik1876
    @oclik1876 8 років тому +1

    потанцевав с бубном, я сделал домашку!

  • @sgsdgsg7353
    @sgsdgsg7353 10 років тому +9

    блок схуема)

  • @jlaum1245
    @jlaum1245 9 років тому +1

    как вам такой вывод степеней двойки
    #include
    #include
    #include
    #include
    using std::cin;
    using std::cout; //

  • @stkalashik
    @stkalashik 10 років тому

    я так и не понял для чего присваивать pow 1 после каждого цикла

    • @stkalashik
      @stkalashik 10 років тому

      все догнал)

    • @mr.tuttifrutti9280
      @mr.tuttifrutti9280 8 років тому

      А я не догнал что то(( Подскажи пожалуйста

    • @mr.tuttifrutti9280
      @mr.tuttifrutti9280 8 років тому

      А, сё, посмотрел внимательнее и понял))

  • @ТаняОрловська-с5г
    @ТаняОрловська-с5г 8 років тому

    1. Дано шестизначне число, визначити та вивести позицію цифри, що задає користувач.(Как сделать?)

  • @stand1k
    @stand1k 10 років тому

    где скачать с++???

  • @davidtsioma
    @davidtsioma 10 років тому

    Любое число в нулевой степени равно единице, а не нулю).

  • @KlinovAS
    @KlinovAS 7 років тому

    12:55 в этом месте не введешь символ, так как там boolean тип. 1чка проскочила, а символ никак. Класно обьясняешь. Учусь какраз. Чесно ненавижу Сишку после идеального знания VB. Никаких include и using не надо. Упростили все. Уверен что просто дело в компиляторе. Поддержки VB имеет меншьше, хотя я делал на нем все что захочу. Перепробовал практически все темы. Только видео не грабал с экрана. А так даже музыкальные файлы сравнивал на идентичность разбирая музыку на гистрограмму. Мне нравится конструкция от С ";" и include штука нужная, но вот не люблю из за того, что вообще не интересно помнить и прописывать те библиотеки в include. Лучше бы их просто подключил флажком в меню и все. Или компилятор бы помог. Ну реально еще такое издевательство на андроид программировании. Вот Ява Скрипт вообще идеально удачно сделали, хоть он только парсит и ничего большего. Стринговые переменные в Сшке как то тупо через те std:: это вообще 20тый век оставили. Я в шоке. Нетерпится протестовать на скорость объекты. На VB если написать объекты и потом через точку обращаться к объекту, то скорость заметно падает если a+b=c сравнивать и o.a+o.b; ?o.c Тоесть у VB не работает объект как ссилка. Ну в VB проблематично с массивами, точнее неудобно, настолько, насколько в С вообще все неудобно.