Уроки по С++. Урок 9. Define, typedef, enum, rand(), Битовые операции

Поділитися
Вставка
  • Опубліковано 15 жов 2024
  • Торрент: rutracker.org/f...
    forum.manysourc... - комментарии оставляйте здесь/
    Завершаем 1 этап программирования.

КОМЕНТАРІ • 79

  • @ДмитрийБережной-л6ж
    @ДмитрийБережной-л6ж 9 років тому +3

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

  • @novak8431
    @novak8431 6 років тому +3

    Для удобства:
    Перевод из 2ичной в 10чную:
    10010 - просто начните справа увеличивайте мысленно 1 на два каждый разряд. То есть следующий разряд в два раза больше прошлого.
    То есть эту комбинацию можно записать так:
    16 8 4 2 1
    Активные разряды просто складывайте.
    То есть в этом случае 2 + 16. Получаете 18 в десятичной.
    Изи.
    Еще пример: 01001
    Записываем: 16 8 4 2 1. Активные: 1, 8. Складываем. Получаем число 9.
    Источник: CS50

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

      спасибо большое

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

    sqrt(x)==(int)(sqrt(x)) - я примерно понял, что ты хочешь сделать попробуй так. double x = 16.0; double y = sqrt(x); if( y == (int)y ) .....//// просто (x.0) - это недопустимая запись, так можно делать только с числами, но не с переменными. Функция sqrt - принимает аргумент типа double и возвращает его корень, тоже типа double.

  • @akakievich4013
    @akakievich4013 11 років тому +2

    Народ, я ещё не дошёл до этого урока (на 4 сейчас), но если хотите поменять цвет консоли (фон и текст) набираем следующее system ("COLOR 8f");
    Первый символ отвечает за цвет фона, второй - текста.
    Цвета: 0 = чёрный; 1 = синий; 2 = зелёный;
    3 = голубой; 4 = красный; 5 = лиловый; 6 = жёлтый; 7 = белый; 8 = серый; 9 = светло-синий; a = светло-зелёный; c = светло-красный; d = светло-лиловый; e = светло-жёлтый; f = ярко-белый; b = светло-голубой;

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

      спасибо

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

    "Просто уметь находить....т.е. правильно забивать запросы в гугол!") С юмором:D

  • @alex-fecit
    @alex-fecit 9 років тому +1

    Такой вопрос. Я прочитал, что функция rand() находится в библиотеке cstdlib, но мы здесь ее не подключаем, откуда она берется? и почему для нее например не надо открывать пространство имен, как с cout например?

    • @Grynya
      @Grynya 7 років тому +2

      наверное,просто потому что это одинаковые по названию функции в разных библиотеках.

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

    уже в 70-х годах, были работы на тему почему goto - опасен, читая чужой код в котором ты прыгаешь откуда-то куда-то, это как минимум извращение в программирование(в Java его кстати убрали). А цикл это организованный блок, и все происходит внутри блока, Goto не имеет смысла в современном программировании.

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

      я изучал в детстве BASIC, так вот там множество мест применения goto. и не знаю пока как в C++, но там это никакой путаницы не вызывает, возможно потому что каждая строка кода пишется после номера строки:
      5 cls,
      10 print "Hello",
      20 let a = 5,
      30 goto 5
      40 ...
      возможно по этому всегда оперативно можно найти строку, куда отсылает go to.

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

    Здравствуйте! уроки по структурам данных будут и рисование в консоле(Borland есть библиотека graphics.h, а как в студии решить это).Спасибо.

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

    В Java фактически есть goto, он позволяет досрочно завершить выполнение блока кода помеченого меткой.
    goto в C используется для обработки исключений и т. п. Встроенных в язык средств то нету, в Linux Kernel Code Style все это подробно описано.

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

    какие параметры у функции, передавай вещественное число sqrt(16.0);

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

    а почему когда Денис заменял тип данных char с помощью typedef, он после char поставил * - char* , типа указатель. Это потому что мы заменяем массив символов?

  • @alexanderhakobyan6361
    @alexanderhakobyan6361 11 років тому +13

    жаль нет задания на дом :(

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

    какой тип данных у переменной a

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

    Хороший урок!

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

    супер уроки! спасибо

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

    Спасибо я понял, надо что бы переменная была беззнаковой

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

    обьясните пожалуйстра почему надо два раза вводить число?
    enum color{Red = 1, Green, Blue};
    cout > a))
    {
    cin.clear();
    while (cin.get() != '
    ');
    cout

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

      Потому, что ты два раза cin поставил)

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

      убери либо cin в if либо первый cin

  • @МаМмм-ь9х
    @МаМмм-ь9х 9 років тому +1

    как вывели консоль в котором смотрели цвета?

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

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

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

    34:15 Автор единичку рассматривает как чаровскую, но при этом говорит, что её код будет "0000.0001".
    Но она же чаровская, и идёт под кодом 49)))

  • @Зулус-г3к
    @Зулус-г3к 7 років тому +1

    Куда автор этих роликов пропал?

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

    Денис, в Pascal тоже есть оператор Goto. Там в начале программы объявляется переменная типа label, например home, а дальше в самом коде home: И если вы в любой момент можете перейти к ней с помощью Goto home; Я думаю, что это довольно удобно, и иногда можно использовать вместо циклов, если вы в них путаетесь. Не знаю почему этот оператор вас так пугает :D

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

    надо проверить sqrt(x)==(int)(sqrt(x)) или нет.(x) число типа double Мне писать sqrt(x.0)==(int)(sqrt(x.0))??

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

    Почему например число a = 1, побитого инвентировать выводится -2?

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

    Денис.Вызываю функцию sqrt в VS2008 ошибка
    ambiguous call to overloaded function

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

    Все говорят не надо GOTO. Но не объясняют почему. Также все боятся рекурсии. А на самом деле очень удобно. Да и честно пофиг, что кто-то не может понять мой код, главное что он быстро работает и без лишних мозгозапутований. В машинном коде без GOTO было бы невозможно ничего. Все циклы на GOTO работают в процессоре. Так что не советую быть дымом и следовать за дулей. Развивайте свое мышление у будь-те особенными. Не надо смотреть на звезд. Вы сами можете быть звездой если не обленитесь.

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

      Делал функцию ПОШАГОВУЮ которая за один шаг должна вернуть название уникального файла и в какой папки он находится. Функция также должна входить в вложенные папки. И если весь маршрут пройден, то возвращает некоторое значение, которое можно расценивать как "конец". Такой пошаговый перебор файлов нужен был чтобы в фоновом режиме работать с файлами не мешая пользователю заниматься другими делами. GOTO в данной функции очень упростила код. Интересно как бы другие программисты умудрились запутать код до такой степени чтоб не использовать GOTO. Очень интересно! Я бы очень хотел посмотреть на такой код!

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

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

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

    Define сокращает код....

  • @РусланЛукин-х4э
    @РусланЛукин-х4э 10 років тому

    Программа работает и правильно считает, но вылетают ошибки) Помогите пожалуйста. Хочу понять в чем моя проблема))
    0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFDFD.
    (21): warning C4390: ";": обнаружен пустой контролируемый оператор; это правильно?
    (24): warning C4390: ";": обнаружен пустой контролируемый оператор; это правильно?
    #include
    #include
    #include
    #include
    using std::cout;
    using std::cin;
    using std::endl;
    using std::ios_base;
    using std::swap;
    int main()
    {
    setlocale(LC_ALL , "Russian");
    int a,b,c,d,s = 0,f = 0;
    srand(unsigned(time(0)));
    cout > a >> b && !isalpha(a) && !isalpha(b));
    cout > c >> d && !isalpha(c) && !isalpha(d));
    if (b != c) // ВВОД МАССИВОВ (24)
    {
    system("cls");
    cout

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

      и так ответы:
      1)смени код FDFDFDFD и не будет нарушений,а если будет то ничего страшного,
      2)все нормально,
      3)так-же

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

      должно быть так:
      int** m1 = new int *[N];

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

    А какие задачи в программировании решаются умножением матриц?

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

      Почти все вещи связанные с цифровой обработкой сигналов

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

      GameDev. Операции с векторами, кватернионами. Решение уравнений в математике....

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

    Денис как написать знак волны (какими комбинациями клавиш?)

  • @АлександрСоколов-т5в
    @АлександрСоколов-т5в 10 років тому +1

    Сделал рандом ,с переменной а ,в итоге теже числа и в том же порядке :)

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

      srand(time(NULL)); поставь тогда каждый раз будет разные числа

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

      Denis MarkovДенис , извини что пишу ответом (чтобы ты видел) . я думаю что у многих будет такой вопрос , я вижу ты умный человек ) . но у меня возник вопрос . как я понимаю ты находил этот материал в интернете способом поиска . у меня такой вариант не приводит к нужному результату ( например хочу прочитать что да как в каждой библиотеке #include ) как правильно писать такие запросы ( заранее спасибо ) приведи другие примеры плз

  • @Nick57965
    @Nick57965 10 років тому +20

    goto - отличная вещь, очень помогает, иногда удобнее циклов.

    • @МаріяБойко-ч5и
      @МаріяБойко-ч5и 10 років тому +27

      Просто ты говнокодер.

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

      Марія Бойко просто есть такие вещи, когда без goto делать очень сложно

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

      Марія Бойко
      понимаешь, если ты думаешь что всем словам надо верить, то ты сильно ошибаешься, тип Define помогает сократить код, тип goto перейти обратно, или пропустить строки кода....

    • @МаріяБойко-ч5и
      @МаріяБойко-ч5и 9 років тому +3

      все что реализовано з Goto можно реализовать без Goto. Если проект большой, то не поймеш что куда идет.

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

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

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

    да, char* - это массив символов или строка

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

      Массив символов и строка в стиле си несколько отличаются, в строке в конце присутствует нулевой символ

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

    я по твоим урока готов ехать на школьную олимпиаду

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

    Незачто

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

    13:59, 14:08 кто заржёт-тот Я

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

      сложный прякол

  • @vadimsarthannel4565
    @vadimsarthannel4565 8 років тому +4

    На 13:20 физика 7 класс :D

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

      Понадобилось значит что-то для проекта.

    • @Grynya
      @Grynya 7 років тому +3

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

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

    сложные у чувака Д/З! По учебнику с++ за 21 день и то легче, и понятнее, тем более для новичков ..

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

      пипец какие, но если сделать, это круто