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

  Рет қаралды 152,467

getKnowledge

getKnowledge

Күн бұрын

Пікірлер: 279
@andriiusatov6750
@andriiusatov6750 9 жыл бұрын
Минут 15 сидел, не понимал для чего же второй цикл был нужен, когда понял что он нужен для того чтобы приумножать значение pow перед тем как прибавлять его к результату еще пару минут тупил почему же выполняется только первая операция после цикла, вспомнил что Денис говорил что если не открывать { } скобки то выполняется только первый оператор и все стало на свои места. Тупняк был конкретный, но было весело самому додуматься. Спасибо, отличные уроки.
@kaynsolo
@kaynsolo 8 жыл бұрын
Судя по твоему объяснению, почему бы его не приумножить в первом цикле?
@wildmass2042
@wildmass2042 9 жыл бұрын
33:00 любое число в нулевой степени равняется единице
@ОлегАлбаут
@ОлегАлбаут 7 жыл бұрын
facepalm,любое число в нулевой степени, за исключением нуля, равно единице
@boukyakunosenritsu
@boukyakunosenritsu 5 жыл бұрын
@@ОлегАлбаут не равняется а ПРИБЛИЖАЕТСЯ. В реальных расчётах мало разницы, но принципиально (в теоретике) она есть.
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Блок схема - это просто, а вот блок схуема - это креативненько.
@ДарьяЛаптева-р9х
@ДарьяЛаптева-р9х 7 жыл бұрын
коэфицент тоже креативненько)))
@Антон-е8б5н
@Антон-е8б5н 8 жыл бұрын
Спасибо тебе большое за этот прекрасный курс, очень всё круто преподносишь.
@0ArtGames0
@0ArtGames0 9 жыл бұрын
чувак, большое спасибо тебе за твои уроки
@marktrane
@marktrane 9 жыл бұрын
Спасибо, Денчик, очень интересно! Всё получается.
@pashafliapps1471
@pashafliapps1471 9 жыл бұрын
Цикл в цикле в цикле это как сон внутри сна, внутри сна ;)
@CB9I3H0U
@CB9I3H0U 6 жыл бұрын
не. это еще хуже :)
@andreytarasevich8126
@andreytarasevich8126 10 жыл бұрын
Код про зерна на шахматной доске содержит неприятную необнаруженную ошибку, которая видна невооруженным взглядом, если внимательно посмотреть на вычисления. Начальное значение переменной '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 жыл бұрын
Спасибо, за столь подробное объяснение!
@ЧеловекРавнодушный
@ЧеловекРавнодушный 7 жыл бұрын
Как может возникнуть ошибка, если на первой клетке 1 зерно, на первой и второй в сумме 3 зерна и т. д.??
@Ayaks74
@Ayaks74 11 жыл бұрын
Большое спасибо за подробные разъяснения! Выскажу свое мнение - в заключительном упражнении по зернам не всем и не сразу будет понятна конструкция с двумя "for" и переменными "i и j". Предлагаю свой более прозрачный вариант: const int a(2), n(64); // основные константы - множитель и число клеток unsigned long long cell(1), general(1); // начальные значения для 1-й клетки cout
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Суть упражнения была показать что можно использовать вложенные циклы, ну оптимизация конечно у тебя лучше
@Ayaks74
@Ayaks74 11 жыл бұрын
Denis Markov На эту тему есть красивое упражнение - таблица умножения с одним вложенным циклом. Кому интересно, попробуйте придумать сами, ну или посмотрите код и сделайте по памяти. Наткнулся в учебнике Хенкеманса, Ли. Сразу захотелось повторить) Выглядит так: | 1 2 3 ... ----------------- 1 | 1 2 3 ... 2 | 2 4 6 ... 3 | .. .. .. ... Код: cout
@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
@34gek34
@34gek34 11 жыл бұрын
Спасибо, за ответ. С нетерпением жду новых уроков.
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Вообще корень может быть отрицательным, просто получится комплексное число
@Minecrafter1101100
@Minecrafter1101100 11 жыл бұрын
Кстати да! Если z^2=-25, то будет z = 5*i
@KennyMcKormic123
@KennyMcKormic123 10 жыл бұрын
mrcomedytiger Вообще-то может i^2 = -1; это называется мнимое единицей
@МаксимМ-л8р
@МаксимМ-л8р 10 жыл бұрын
Denis Markov я хоть и в восьмом классе, но хочу сказать :хочешь поспорить с учеными ?
@AlexMamchur
@AlexMamchur 10 жыл бұрын
Максим М не парься. Позже узнаешь что такое мнимая единица.
@TestTest-hv5vt
@TestTest-hv5vt 10 жыл бұрын
Максим М, пацан, не парься, для твоего мозга, пока, это очень сложно.
@ТайныйЯ-к3ь
@ТайныйЯ-к3ь 10 жыл бұрын
С домашним заданием, конечно, красава. Вроде и учишь толково, но так лажаешь с этим. :D Чего только стоит "схуема", "клавиатурыф", "отоброзить".
@anticorruptway
@anticorruptway 10 жыл бұрын
Спасибо за доступное изложение! У меня возведение в степень получилось так: int a,b; cout > a; cout > b; unsigned long long result=a, pow; for (int i(1); i
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
в зависимости от типа данных если char введется символ '1' , если int,double - 21 или 21.00 , если строка "21+35"
@АлексейЛевцов-г8г
@АлексейЛевцов-г8г 10 жыл бұрын
Спасибо за урок, вот мой пример со степенями #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
@qwertyqwerty4576
@qwertyqwerty4576 10 жыл бұрын
обоже..
@MrGeorge01
@MrGeorge01 10 жыл бұрын
ты компилировал? 0_0
@ОлександрЛазарець-и7з
@ОлександрЛазарець-и7з 5 жыл бұрын
мой вариант степени не только 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
@Cocosik72
@Cocosik72 9 жыл бұрын
unsigned long long i(1), b(1), result(1); const int N = 64; do { cout
@lllZarakilll
@lllZarakilll 8 жыл бұрын
Задача в конце урока, ее я решил, но добавил две проверки, что бы нельзя было вводить 0 или меньше, и допустим ограничитель строк(допустим вывели больше 30 строк он скажет об этом) int s; cout > s) || (s
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
data[0]-16 - это выражение результат которого должен быть целый тип, а
@aidenforbidden6518
@aidenforbidden6518 8 жыл бұрын
Справился со вторым заданием, сенсей! #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
@TheMyzonchik
@TheMyzonchik 10 жыл бұрын
Задание с шахматами удалось решить намного проще unsigned long long j; for (int i=1;i
@nickbarton5251
@nickbarton5251 10 жыл бұрын
ерунда какая то
@TheMyzonchik
@TheMyzonchik 10 жыл бұрын
Nick Barton почему ерунда? результат тот же
@nickbarton5251
@nickbarton5251 10 жыл бұрын
согласен. Круто
@jasumy1
@jasumy1 9 жыл бұрын
+Oleksandr Golodiuk или чтобы узнать сколько на каждом квадрате и отдельно общую сумму: unsigned long long j = 1, sum = 0; for(int i = 1; i
@justcode5626
@justcode5626 4 жыл бұрын
Реально полезное видео!
@ProgScriProf
@ProgScriProf 9 жыл бұрын
Еще раз повторюсь, что мне очень нравятся твои уроки. Но мне кажется, что функцию sqrt можно использовать без подключения cmath. Мне всегда казалось что это стандартная функция (как сложение, вычитание, ...). Я проверил. У меня подключены только iostream и conio.h и я спокойно использую функцию sqrt.
@pandemil9296
@pandemil9296 8 жыл бұрын
2 ^ 0 = 1 (а не 0) Спасибо вам за ваши видео-уроки!)
@tan_ds
@tan_ds 11 жыл бұрын
конечно, очень полезные уроки и как программисту я хочу сказать спасибо) но - "ложить" меня убило, плюс, 2 в нулевой степени = 1. так, к сведению) а в целом спасибо)
@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
@bratolomeo4038
@bratolomeo4038 8 жыл бұрын
Спасибо!, очень интересно!
@MrGeodesist13
@MrGeodesist13 3 ай бұрын
Может кто-то прочтет: Данный материал хорош, но не для новичков, который только начали изучать язык. Здесь фигурируют уже вложенные циклы, которые еще нужно понять, а так сразу и не въедешь в тему. Поэтому лучше узнать про циклы где-то еще.
@НикитаЛазарев-ш4у
@НикитаЛазарев-ш4у 10 жыл бұрын
33:06 2 в нулевой степени единица.
@АлесяОлеся-е7е
@АлесяОлеся-е7е 6 жыл бұрын
Не сказал бы что логические операции с логическими операторами && || это "минус" именно плюсов, все языки имеют этот вид оптимизации исполнителя, это в масштабных проектах реально увеличивает скорость. И да, даже не самый быстродейственный интерпретируемый, без JIT язык под рназванием JS имеет такое свойство, сам урок хороший спасибо!
@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
@skaysh
@skaysh 10 жыл бұрын
Вместо || можно написать | , тогда будут проверяться оба условия, так же и с &&.
@RuslanKoptiev
@RuslanKoptiev 10 жыл бұрын
Всё очень усложнено с последней задачей, код в реальности намного проще int main() { unsigned long long pow = 1, result = 0; for (int i = 1; i < 64; i++) { pow *= 2; result += pow; cout
@sergeimedvedev7993
@sergeimedvedev7993 9 жыл бұрын
_getch(); забыл =)
@ishishkin
@ishishkin 11 жыл бұрын
Спасибо Вам!
@MichioSempai
@MichioSempai 8 жыл бұрын
Добрый день, какую книгу вы посоветуете в довесок к вашему курсы? А так же возможно посоветуйте книгу или курс по алгоритмам с нуля.
@denisnasibullin7779
@denisnasibullin7779 8 жыл бұрын
Школьная информатика в помощь (учебник с алгоритмами)
@sergeypopov3728
@sergeypopov3728 7 жыл бұрын
решил несколько по другому. понимаю, что пример вложенного цикла, но он тут сильно лишний unsigned long long result(0), pow(1); for (int i(0); i < 64; i++) { result += pow; cout
@elementshadow9767
@elementshadow9767 9 жыл бұрын
Что-то изобретатель приофигел))
@АлександрШайковский-ч3ш
@АлександрШайковский-ч3ш 8 жыл бұрын
Во первых спасибо за уроки, они очень помогают в изучении C++ и они очень интересны. Во вторых есть вопрос про шахматиста и зерна. Я долго думал зачем 2 цикла. Вы сказали, что это цикл внутри цикла следовательно в итоге циклов 64*64? От этого же зависит быстродействие? А если во втором цикле j присвоить 0 и сразу сделать равным 0 то останется 60 циклов? Вот что у меня получилось. const int N = 64; unsigned long long res = 1, paw = 1; for (int i = 1; i
@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 жыл бұрын
и 2 в 0-ой степени это 1, а не 0)
@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
@topandroid12
@topandroid12 10 жыл бұрын
И кстати, 64 клетку посчитало как и 63. Нужно еще больше диапазон, чем unsigned long long.
@АлексейКозин-ю8к
@АлексейКозин-ю8к 10 жыл бұрын
Что бы понять что такое комплексные числа посмотрите какой нибудь фильм про развитие математики(абстракции нашего мира). Ноль вам понятен хотя его раньше не было, отрицательные числа тоже понятны и их тоже раньше считали чем то фантастическим. Поймите математика это абстракция так будет проще понимать всё что угодно но при этом подкреплено всё логикой.
@reekerkepper2175
@reekerkepper2175 10 жыл бұрын
Денис к тебе вопрос.Можно ли если ты уже скомпилировал программу как нибудь декомпилировать эту программу или посмотреть ее код/скрипт?
@broels1559
@broels1559 8 жыл бұрын
исправь в титрах ошибки, а то "схуему" как-то не очень красиво
@islamstanaliev9843
@islamstanaliev9843 8 жыл бұрын
+Bro els +
@oclik1876
@oclik1876 8 жыл бұрын
потанцевав с бубном, я сделал домашку!
@oclik1876
@oclik1876 8 жыл бұрын
do/while, там для удобства _getch() лучше убрать
@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
@davidtsioma
@davidtsioma 10 жыл бұрын
Любое число в нулевой степени равно единице, а не нулю).
@ewqffas6915
@ewqffas6915 10 жыл бұрын
Вычисление корней квадратного уравнения #include #include #include using std::cout; using std::cin; using std::endl; using std::ios_base; int main() { setlocale(LC_ALL, "Russian"); double a, b, c, x1, x2, D; cout a >> b >> c; D = (b*b) - (4*a*c); if (D > 0) { x1 = (-b - sqrt(D)) / (2*a); x2 = (-b + sqrt(D)) / (2*a); cout
@KlinovAS
@KlinovAS 7 жыл бұрын
помогите понять. скачал сервер на C++. Обычный тестовый, без логики входной информации, на сокете. Инициализируется сокет - это все понятно. Я про сокет практически знаю из VB все. Работал вплотную и с UDP и с TCP практика есть, и файлы по своему протоколу ганяю и могу дистанционно доставать что хочу и управлять. Хочу сервер на C++. Меня удивила обычная конструкция цыкла for(;;){} Я так понял что это вечный цыкл. Догадался от JS, там точно так же. Вроде все понятно. Ставлю точку остановки внутри цикла. Программа не останавливатся. А когда обращаюсь к сокету по 127.0.0.1 по 80 порту, то срабатывает останов в моей точке. И тут я вообще недопонимаю нихрена. А как так? В визуал бейсике я могу также цыклить, но зависает тогда все. Нужно делать как минимум DoEvents чтобы дать возможность другим процессам работать. К примеру я люблю давать прерывание на таймер, чтоб он что-то перепроверил, чтоб на экране что-то анимировалось или просто вывелась информация. Тут я не понял смысла цыкла.
@apptokdev
@apptokdev 11 жыл бұрын
спасибо огромное
@sgsdgsg7353
@sgsdgsg7353 10 жыл бұрын
блок схуема)
@ivanlikhoded9617
@ivanlikhoded9617 10 жыл бұрын
Подскажите что означает "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 жыл бұрын
Галина Панкова а потом вдруг в один прекрасный момент перестанет...
@pasha7654
@pasha7654 8 жыл бұрын
последнюю задачу можно же было сделать и без вложенного цикла. const int N = 64; unsigned long long result = 1, pow = 1; for (int i = 0; i < N; i++) { cout
@Штурман-щ1п
@Штурман-щ1п 7 жыл бұрын
Можно вопрос ,#include #include #include using std::cout; using std::endl; using std::ios_base; using std::cin; int main() { setlocale(LC_ALL, "Russian"); unsigned int a, b; unsigned long long result = 1; cout > a >> b)) { cout
@pasha7654
@pasha7654 7 жыл бұрын
мы не "a" раз умножаем, а умножаем "b" раз. мы умножаем "b" раз на "a" Например: Мы хотим возвести число 2(переменная a) в 3(переменная b) степень, для этого нам нужно умножить число 2 три раза само на себя. Переменная result = 1; В первой итерации цикла мы умножаем 1(result) на 2(a) и записываем этот результат в переменную result, результат будет равен 2; Во второй итерации у нас уже result равняется не 1, а 2 и мы умножаем ещё раз на переменную a, то есть на 2 и переменная result будет равняться числу 4, ибо 2 * 2 = 4; В третей итерации(последней, ибо мы хотели возвести в 3 степень) result равняется 4 и мы ещё раз умножаем на 2(переменную a) 4 * 2 = 8; 2 в 3 степени равно 8, всё верно.
@Штурман-щ1п
@Штурман-щ1п 7 жыл бұрын
Спасибо Вам за ответ, буду думать. Вроде что то начинаю понимать.
@Штурман-щ1п
@Штурман-щ1п 7 жыл бұрын
Вы не против если я у Вас буду спрашивать периодически совет?
@pasha7654
@pasha7654 7 жыл бұрын
не против)
@ДанилКлочков-ъ2б
@ДанилКлочков-ъ2б 8 жыл бұрын
Бляцк. Реально сложно осмыслить работу всех операторов в последней задаче. Я голову ломал наверное минут 40 прежде чем начали появляться светлые мысли.
@КонстантинГлазков-п7к
@КонстантинГлазков-п7к 9 жыл бұрын
Добрый день! А почему если цикл записать в условие, то при вводе текста 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
@CB9I3H0U
@CB9I3H0U 6 жыл бұрын
Что-то намудрили тут с зернами... Код в "две строки" и без мозголомства и циклов в циклах: unsigned long long z = 1, sum = 1; for ( int i(1); i
@lllZarakilll
@lllZarakilll 7 жыл бұрын
Задание с предыдущего урока по калькулятору с помощью if-else и switch prntscr.com/duo4mm Интересен тот факт, что при if-else ошибку на неуместный оператор выдает тока после ввода второго числа, а оператор switch выдает ошибку сразу, как ввел неверный оператор ...)
@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 8 жыл бұрын
Это правильное и самое простое решение. Сложения в условии задачи не было
@daniilgolubev9761
@daniilgolubev9761 8 жыл бұрын
Зачем перед getch ставить нижнее подчеркивание? У меня и без него работает
@singlebw4065
@singlebw4065 10 жыл бұрын
как сделать что бы выходило из программы только при нажатии на 'n', а на все остальные буквы выдавало не верный ввод. пытался сам сделать но что то не доходит ((
@ЕвгенийОнегин-ы5р
@ЕвгенийОнегин-ы5р 10 жыл бұрын
Помогите! Я откомпилировал свою программу в Visual Studio и отправил друзьям, у них на при запуске exe файлы, который я отправил, выдаётся ошибка, типа не является файлом win32, и даже когда я создаю новый проект и выбираю консольное окно win32 и отправляю снова, у них та же ошибка, в чём дело?
@ЕвгенийОнегин-ы5р
@ЕвгенийОнегин-ы5р 10 жыл бұрын
Нет, не установили. Смысл тогда программы писать, если их запустить люди не могут без Visual Studio? Может какие-то файлы надо в папку засунуть или ещё что-то?
@kep261
@kep261 10 жыл бұрын
Евгений Онегин просмотр-- окно свойств-- релиз вин32
@kino46danila
@kino46danila 8 жыл бұрын
Уважаемый Denis Markov . пытаюсь самостоятельно выучить язык программирования с помощью Ваших видео уроков. Спасибо большое, всё доступно объясняете. Но не могли бы Вы мне помочь в решении этого задания, а точнее объясните как это должно происходить поэтапно. Вот собственно сама задача - Дано целое число N которое больше 0. Найти сумму 1 + 1/2 + 1/3 + ... + 1/N (вещественное число) ....... как правильно с дробями работать через циклы ?
@jlaum1245
@jlaum1245 9 жыл бұрын
как вам такой вывод степеней двойки #include #include #include #include using std::cin; using std::cout; //
@СергейКривов-л7н
@СергейКривов-л7н 9 жыл бұрын
Денис, очень нравятся твои уроки, спасибо! Но в дз из прошлого урока ты допустил ошибку в формуле. D = (b*b) (ты не смог возвести в степень и решил в коэф b. подставить 2, что плохо) p.s. вставив любое др число в коэф b, например 3, то формула уже будет недействительна. Сам долго мучился в поисках знака "возведения в степень, но так и не нашел. P.S. Знак "^" не работает.
@ДмитрийПрохоров-г2е
@ДмитрийПрохоров-г2е 9 жыл бұрын
Как на счет деления без остатка? 5/6 не должно равняться нулю case '/': if (S1%S2 == 0) cout
@kostiasidorovich3954
@kostiasidorovich3954 10 жыл бұрын
Спасибо большое..Классный уррок..У меня почему то консоль вывоlа очень быстро закрываеться , почему...?
@vladislav6942
@vladislav6942 11 жыл бұрын
интересно)
@basticking6492
@basticking6492 8 жыл бұрын
Что бы он показывал сколько зерен в каждой клетке а не в "сумме" , надо писать 'result = pow' а не 'result +=pow' и он не будет прибавлять прошлую клетку
@DustFire
@DustFire 9 жыл бұрын
такой вопрос, а програмы делать можешь научиться? или только для того что бы считать как на калькуляторе всякие там задачки нужен этот С++ а?
@IBlackCatter
@IBlackCatter 9 жыл бұрын
Георгий Хортайл с++ нужен только для сложных научных расчётов, для написания программ используется ассемблер
@DustFire
@DustFire 9 жыл бұрын
IBlackCatter а ну ок тогда! не знал просто
@askhatbaimukhamedov8692
@askhatbaimukhamedov8692 9 жыл бұрын
Mr Askot не слушай всяких невежд!
@Максим-е8к8ь
@Максим-е8к8ь 4 жыл бұрын
а такое решение можно считать правильным? int Ruble; cout > Ruble; cout
@34gek34
@34gek34 11 жыл бұрын
Доброго времени суток. Вопрос конечно не в тему, но всетаки подскажите, что означают двойные треугольные скобки в этом выражении (data[0] - 16)
@sergiihenry4501
@sergiihenry4501 8 жыл бұрын
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
@Dr_Bars
@Dr_Bars 10 жыл бұрын
В целом уроки хороши, но зачем ставить цикл в цикле (вариант с зернами на доске), когда можно записать проще и понятнее, например вот так=> const int N = 64; unsigned long long zerno = 1, vsego = 1; for (int i = 1; i
@whiteandy
@whiteandy 11 жыл бұрын
Как работает cin в случае когда вводим "21+35"? Он считывает число пока может?
@topandroid12
@topandroid12 10 жыл бұрын
Денис, зачем Вы так намудрили в задаче с зернами? Все сделал намного проще, вместо где-то 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с 9 жыл бұрын
+Valik Troyan Только x надо объявить равным 0.
@CB9I3H0U
@CB9I3H0U 6 жыл бұрын
помоему всеравно что-то будет не так :) А точнее для первой клетки вам прога выдаст уже значение и для второй ... что как-бы не есть гуд...
@cultxodyssey
@cultxodyssey 7 ай бұрын
unsigned long long result = 1; for (int i(1); i
@wangulsan3037
@wangulsan3037 7 жыл бұрын
Я так и не понял, зачем было пилить этот цикл for (j = 0; j
@denisnasibullin7779
@denisnasibullin7779 8 жыл бұрын
Ошибка: в твоей if и else (где рубли) при вводе 11 выдаёт у вас 11 рубль
@De_collapse
@De_collapse 4 жыл бұрын
Да, Денис не предусмотрел исключение, когда последние две цифры числа лежат в отрезке от 12-ти до 14-ти.
@artov_music
@artov_music 7 жыл бұрын
каким образом число зерен увеличивается, если мы pow каждый раз приравниваем к единице?
@АлесяОлеся-е7е
@АлесяОлеся-е7е 9 жыл бұрын
Скажите пожалуйста, а как мне создать диалоговое окно типо, программа спрашивает у меня, Как настроение, а я пишу допустим, не выспался, а оно отвечает, Очень Жаль, или я пишу что я побегал и победил, а она пишет я рад за тебя! Буду рад ответу, на ранние спасибо!
@МаксимМ-л8р
@МаксимМ-л8р 11 жыл бұрын
Парень ,аккуратнее корень не может быть отрицательным !
@МаксимМ-л8р
@МаксимМ-л8р 11 жыл бұрын
По законам математики )
@k0dibens184
@k0dibens184 10 жыл бұрын
Мнимая единица...Гугл тебе помощь
@tamogot4i
@tamogot4i 9 жыл бұрын
Ден, скажи будь ласка в чому помилка? Це по д/з. int main() { setlocale(LC_ALL, "Russian"); cout
@smbatadamyan220
@smbatadamyan220 8 жыл бұрын
вобшето програма про зерен ненужная ведь сраз же видно результат = 2в 63 степени + 2 в 62 и так до 0 а это предел типа unsigned long long
@СергейОрлов-ц4г
@СергейОрлов-ц4г 10 жыл бұрын
17:35 начал компелировать на этом этапе, аваст посчитал это вирусом:)
@FixerHack
@FixerHack 10 жыл бұрын
аваст - зло
@multi_gamer3794
@multi_gamer3794 10 жыл бұрын
а что значит операция присваиваижаниа (прашу ответить)
@Ar4ie007
@Ar4ie007 10 жыл бұрын
Подскажите пожалуйста, почему после создания программы в разширении .exe она не работает на других компах? что нужно сделать, чтоб другие компы воспринимали?
@ЕлдарМұхтарұлы-ч6щ
@ЕлдарМұхтарұлы-ч6щ 10 жыл бұрын
тоже самое
@Cada0x1
@Cada0x1 10 жыл бұрын
Ты только *.exe на других компьютерах ставил? Если да, то прихвати еще *.cpp или *.h файл. (В котором ты код писал). По идее должно работать, если все включенные в программе библиотеки есть на компьютере.
@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 жыл бұрын
Полинка спасибо
@АртурХачатрян-ж4ш
@АртурХачатрян-ж4ш 9 жыл бұрын
Как создать видео чат?
@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. Тип 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 жыл бұрын
почему у тебя в этой строке" x2=((+b+sqrt(b*b-4*a*c))/2*a; " стоит +b Bank of America
@ivankd3142
@ivankd3142 8 жыл бұрын
Потому что у тебя /2*a
@РустемДанияр-с7ь
@РустемДанияр-с7ь 5 жыл бұрын
Почему просто не напишешь using namespace std;
@PashaTehnik-d4i
@PashaTehnik-d4i 11 жыл бұрын
Извините... Один вопрос- сделал калькулятор с циклом while через if и else первое действие у меня сумма а последнее деление (в цикле). Так вот когда я выбираю сумму или что то другое прога просчитывает потом делает деление а потом цикл повторяется. Как сделать так чтобы цикл останавливался посчитав значение и потом снова спрашивал действие??
@ruslanaktaev
@ruslanaktaev 9 жыл бұрын
Калькулятор у меня чуть сложнее вышел #include #include using std::cout; using std::cin; using std::endl; int main() { setlocale(LC_ALL, "Russian"); double first, second, result; char operation; cout first >> operation >> second; switch (operation) { case '*': result = first * second; cout
@kirruxa
@kirruxa 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.
@askhatbaimukhamedov8692
@askhatbaimukhamedov8692 9 жыл бұрын
любое число в степени 0 равно еденице!
@Dackster1994
@Dackster1994 11 жыл бұрын
while выполняет циклы пока не пропадет электричество.
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Это уже статистика, любой цикл когда нибудь закончится.
@dobrij3919
@dobrij3919 10 жыл бұрын
сделал калькулятор и выдает ошибку оператор switch не содержит метку "case" или "default" в чем проблема???
@ГалинаПанкова-к1л
@ГалинаПанкова-к1л 10 жыл бұрын
оператор не может быть пустым.
@MamoruKashi
@MamoruKashi 7 жыл бұрын
Вот я подумал и решил, что будет если я разделю на 0
@ТаняОрловська-с5г
@ТаняОрловська-с5г 8 жыл бұрын
1. Дано шестизначне число, визначити та вивести позицію цифри, що задає користувач.(Как сделать?)
Уроки по C++.6 урок. Массивы
43:57
getKnowledge
Рет қаралды 168 М.
Уроки по С++. Урок 8. Указатели
1:03:51
getKnowledge
Рет қаралды 129 М.
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 25 МЛН
Wait for it 😂
00:19
ILYA BORZOV
Рет қаралды 11 МЛН
Уроки по C++.4 урок.If-Else, Switch
51:46
getKnowledge
Рет қаралды 175 М.
Уроки по с++. 10 урок. Функции
45:49
getKnowledge
Рет қаралды 73 М.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
Уроки по C++.3 урок.Типы данных
38:16
getKnowledge
Рет қаралды 179 М.
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 25 МЛН