Изучение C++ для начинающих / #7 - Массивы данных (одномерные и многомерные)

  Рет қаралды 170,645

Школа itProger / Программирование

Школа itProger / Программирование

Күн бұрын

Пікірлер: 122
@Someone_Game999
@Someone_Game999 Жыл бұрын
Автор молодец, благодаря нему я стал более-менее понимать С++, хотя буквально неделю назад страшился его, как огня. Спасибо за такие прекрасные видеоролики!
@alnxdrshii4375
@alnxdrshii4375 Жыл бұрын
ItProger красавчик. Я когда решился начинать учить Спп, думал, что это что-то нереальное)
@Cosi-vacamble
@Cosi-vacamble Жыл бұрын
​@@alnxdrshii4375аналогично, а как ща? Далеко продвинулся?
@ProdbyPutya
@ProdbyPutya Жыл бұрын
@@Cosi-vacamble без обид но ты так ещё удивишься когда пройдёшь продвинутый C++ и углублённый)) потом фраймворки git и т д
@ISA-Pixel5
@ISA-Pixel5 5 ай бұрын
Я думал это самый сложный язык
@Someone_Game999
@Someone_Game999 5 ай бұрын
@@ISA-Pixel5 Самый сложный - это Асемблер
@ShaburovThe
@ShaburovThe 7 ай бұрын
Автор, действительно, учитель от Бога. Отличная речь, скорость подачи, без духоты. Надо было сразу учить Си. Почему то в ит сообществе, у всех принято страшилки рассказывать, про то, что язык сложный и тд, и тп. Вот и я такого наслушался и пошел учить Go. Go замечательный язык, особенно для веб разработки. Но для системного программирования, например инсталлятор написать, даже по первым урокам я уже вижу, что те же задачи на Си сделать можно чище(тот же stdin, stdout).
@nicolaicojocari8882
@nicolaicojocari8882 4 ай бұрын
язык реально сложный, здесь пока изучается только база
@ivan_naitoraito
@ivan_naitoraito 22 күн бұрын
тут пока не дошли до С++ базы, скорее идет просто общая база программирования. Трудности начнутся примерно на указателях и работе с адресной памятью.
@AramSukiasyan233
@AramSukiasyan233 4 ай бұрын
Автор молодец тебе, думаю 99.9% учителей не могут так понятно обяснить что тебе все было понятно.
@donrodion
@donrodion 8 ай бұрын
Cпасибо огромное, за такой урок. Реально очень полезно. Изучаю С++ с удовольствием!
@arsenic1821
@arsenic1821 4 ай бұрын
Большое спасибо за уроки!!!
@katerin.b
@katerin.b Жыл бұрын
Премного благодарен за великолепный курс!
@Remington-og3tf
@Remington-og3tf Жыл бұрын
Спасибо за понятное объяснение!
@userhuyers
@userhuyers 3 ай бұрын
Действительно полезный урок, спасибо мне они немного помогают
@kpanat
@kpanat Жыл бұрын
Кстати = при инициализации писать не надо. Можно написать просто фигурные скобки. Если написать пустые, то это инициализация по умолчанию. Если ничего не написать то это тоже. Однако статические массивы инициализировать обязательно если вы не все размеры указали чтобы компилятор мог вывести размер из вашей инициализации. Это происходит только для самой верхней размерности. Все остальные обязательно указываются.
@deffu4790
@deffu4790 Жыл бұрын
Даровыч! Это так a[][2] {{8,9},{0,0},{-2,1},{1,2}}; ? Как практикум, придумал написать написатор для массивов. Это возможно же, да?))
@hagott
@hagott Жыл бұрын
Awesome lesson!
@Redsadi464
@Redsadi464 3 ай бұрын
спасибо автор я всегда боялся програмирование
@Артём-о5з8ф
@Артём-о5з8ф 2 жыл бұрын
Спасибо за ваши выпуски😊
@ivan_naitoraito
@ivan_naitoraito 22 күн бұрын
С многомерным массивом всё понятней если вывести на экран номер элемента и что в нём лежит, для удобства можно закинуть числа, которые будут соответствовать по номеру ячейки и строки. Условно 1 строка и 1 ячейка = 11 // Многомерный массив int matrix[3][2] = { {11, 12}, // элементы [0][0] и [0][1] {21, 22}, // элементы [1][0] и [1][1] {31, 32} // элементы [2][0] и [2][1] }; for (int i_1 = 0; i_1 < 3; i_1++) { for (int i_2 = 0; i_2 < 2; i_2++) { std::cout
@Charles_Dickens
@Charles_Dickens Жыл бұрын
Буду писать под каждым видео комментарий, всё на одном дыхании идёт)
@Phonker07
@Phonker07 Жыл бұрын
Дошел до конца?🎉
@1joker2viktor3dude9
@1joker2viktor3dude9 10 ай бұрын
научился с++?)
@Phonker07
@Phonker07 10 ай бұрын
@@1joker2viktor3dude9 я ток на 30%, другую инфу учил в книгах, там больше инфы
@KURWAPIDOR_man
@KURWAPIDOR_man 7 ай бұрын
спасибо, легенда
@superlexadnepr
@superlexadnepr Жыл бұрын
Спасибо
@vasily2dndn
@vasily2dndn 7 ай бұрын
База, конечно, но спасибо автору за раскрытие синтаксиса данного языка)
@СашаХодыкян
@СашаХодыкян 11 ай бұрын
Bravo
@ТимофейКомаров-ь9м
@ТимофейКомаров-ь9м 3 ай бұрын
7:05 а можно делать пробелы, чтобы установить значение 1, 2 и 5 элементам массива например?
@Mr.Electrum
@Mr.Electrum Жыл бұрын
Про двумерные массивы говоря (многомерные) это множество массивов каждый из которых хранит информацию в ввиде х * х,то есть допустим a[3][3] 3 на 3 9 9- массивов первая тройка количество строк вторая количество столбцов
@Iooooooqq
@Iooooooqq Жыл бұрын
двумерныйц массив это обычная матрица
@Mr.Electrum
@Mr.Electrum Жыл бұрын
@@Iooooooqq Я объяснил по другому просто, но спасибо за уточнение
@Ciplusplus
@Ciplusplus 2 ай бұрын
Рядом с 25:35 Логично что можно было просто сделать так чтобы были 3 массива и 3 элемента а потом добавить ещё 1 в каждый массив и это будет в 1 цикле то есть ну там где i можно до 3-х а потом поставить вместо j в выводе на i
@Dobryj_Kolya
@Dobryj_Kolya Жыл бұрын
Спасибо! Всё понятно, но с нуля без интернета и без примеров кода я такое не напишу)))
@Yaroslavl_rr
@Yaroslavl_rr Жыл бұрын
Я уже могу написать калькулятор без единой помощи
@vialance3901
@vialance3901 8 ай бұрын
Прописал 3 цикла for для заполнения, вывода, суммы, у меня только один цикл выполняется, хотя год валидный по написанию. Фокусы с выводом массива и его суммы не работают.... хотя так же счетчик копировал, все как в видео
@глазаползут0_0
@глазаползут0_0 8 ай бұрын
снизу программы пишется, есть ли ошибки, сколько их и в чём заключаются
@Alandee13
@Alandee13 Ай бұрын
А есть курс от этого автора по UE ?
@evgeny_54
@evgeny_54 2 күн бұрын
Думал покажут как определять длину массива для перебора в цикле, но не судьба. Пишем ручками.
@TemurbekUbaydullayev-e2l
@TemurbekUbaydullayev-e2l Жыл бұрын
wow!
@_blisong_9864
@_blisong_9864 6 ай бұрын
Подскажите пожалуйста, почему на 15:11 у меня при дебаге не работает в консоли 2 функция? Когда я запускаю без дебага, то всё работает
@StartuePotoya
@StartuePotoya 11 ай бұрын
12:34 Почему создан float nums2[3] а внутри целочисленные значения. и почему компилятор не выдал ошибку???? это же жесткий с++
@SPEEDWAGON3
@SPEEDWAGON3 11 ай бұрын
потому что тип данных float может хранить так и целочисленные значения так и числа с плавающей точкой
@StartuePotoya
@StartuePotoya 11 ай бұрын
@@SPEEDWAGON3 не знал.
@5классвиленкин-ъ4п
@5классвиленкин-ъ4п 9 ай бұрын
@@StartuePotoyaнет. Ничего он не хранит. Потому что типы приводятся один к другому. В массив интов можно запихнуть флоат и все тоже будет ок.
@aleksevgeny
@aleksevgeny 2 ай бұрын
Потому что, например, 4 - это по-другому 4.0. Когда используешь тип float, но пишешь, например, число 4, то компилятор воспринимает это число как 4.0. Надеюсь, понятно объяснил 😅
@Maximuser_play
@Maximuser_play 8 ай бұрын
Очень крутой курс, однако у меня дилемма: изучать и python и c++ или изучать что-то углублённо
@Mortred_niki
@Mortred_niki 4 ай бұрын
Та же проблема была, я выбрал с++ ибо хочу работать в гейм деве.
@evgeny_54
@evgeny_54 2 күн бұрын
Что выбрал в итоге, надеюсь c++? Так как лучше понимание программирования и легче перейти на другой язык.
@kukuryzkaboy
@kukuryzkaboy 11 ай бұрын
автор , я решил проверить махинации с массивами на 18:55 минуте видео и у меня минимальное число всегда выдает которое конечное в массиве помоги пожалуйста
@KotyaLTA
@KotyaLTA 9 ай бұрын
он показывает только то число которое меньше указанного значения, автор указал 0, поэтому его число которое было отрицательное высветилось, а если ты указываешь только положительные числа то он будет выдавать ноль.
@ПавелТельман
@ПавелТельман 10 ай бұрын
красава
@ВикаАдамовская
@ВикаАдамовская 5 ай бұрын
17:03 summa += numbers[i] А как тут все числа вместе суммируются? В терминале должно быть 0 + i
@aleksevgeny
@aleksevgeny 2 ай бұрын
summa += numbers[i] - это по-другому summa = summa + каждый элемент массива, то есть 0 + 0 элемент + 1 элемент + 2 элемент + 3 элемент + 4 элемент
@AndriiTurchynRieltorDnipro
@AndriiTurchynRieltorDnipro Жыл бұрын
дякую++
@kpanat
@kpanat Жыл бұрын
А 3-х мерные массивы надо печатать на 3-х мерные экран...Упс! Таких экранов нет пока... Ну тогда когда будут, тогда и будем печатать... А пока подождём-с... Кстати 3-х мерные называются не матрицами. Название матрица зарезервировано именно за 2-х мерными массивами. специального названия для 3-х мерных массивов нет. Хотя в природе именно они и встречаются...
@nelavas4651
@nelavas4651 Жыл бұрын
а больше 3-х бывают? например, 5 мерный массив?
@5классвиленкин-ъ4п
@5классвиленкин-ъ4п 9 ай бұрын
@@nelavas4651да хоть 10.
@mikhailmaliukin1180
@mikhailmaliukin1180 Жыл бұрын
Обьясните пожалуйста, почему i это индекс а не отдельная переменная. Почему он вводит данные в i и они идут в массив?
@daniilstark9543
@daniilstark9543 Жыл бұрын
Потому что мы массив прировняли к циклу for У цикла установили диапозон от 0 до какого то числа,который приравнивается к массиву (независимо до какого числа установлен диапозон цикла) Видимо в C++ когда работаешь с массивом а потом пишешь цикл они как то взаимодействуют друг с другом ,приравниваются или объединяются и цикл становится пешкой или вспомогательным звеном в руках массива То есть сам массив в программе главнее установленного цикла и сам цикл подчиняется Ну вроде-бы так Я так понял 😀
@thewashik672
@thewashik672 Жыл бұрын
i это и есть переменная, массив считает значение переменной i, к примеру i = 1; то если cout
@vada322
@vada322 Жыл бұрын
Потому что если пишем обращение к nums2 и ставим [ ] то имеется в виду именно порядковые номера в этом массиве, а не сами числа. А как мы знаем под порядковыми номерами от 0 до 3 в этом массиве как раз находятся числа 4, 6, 7. Он не вводит данные в i, он сначала создает цикл в котором эта i у него от 0 до 3 и увеличивается на 1 каждый раз, потом создает команду вывести на экран i. Программа понимает 2 условия: [ i ] это массив то есть нужно выводить числа под порядковым номером от 0 до 3. Если не поняли пишите я еще раз объясню по-другому.
@НиколайПетров-с9ъ4э
@НиколайПетров-с9ъ4э 3 ай бұрын
Не получается с МИН если float min=numbers[0] как учили то и дальше надо ставить [0] а то ругается НЕ понимаю что не так. может объяснят.
@matir5660
@matir5660 Жыл бұрын
16:55 - зачем было создавать ещё цикл когда мы в одном цикли могли посчитать сразу сумму разве это не усложняет сам код?
@user-fj8gf2ey8n
@user-fj8gf2ey8n Жыл бұрын
Я тоже об етом подумал
@nelavas4651
@nelavas4651 Жыл бұрын
скорее всего для простоты понимания для новичков
@vskvarshnevski
@vskvarshnevski 5 ай бұрын
У меня выводится сумма каждого элемента отдельно, а не всех элементов вместе🤔
@EngineerDroniv
@EngineerDroniv Жыл бұрын
У мене питання, я писав код так само і у мене не виникло помилок, але в консолі мені замість таблиці пише рандомні числа, по типу -43435435132798, а потім рядків так сорок одні 0, в чому може бути проблема?
@ІванРибак-ж4и
@ІванРибак-ж4и Жыл бұрын
можеш код скинути?
@1joker2viktor3dude9
@1joker2viktor3dude9 10 ай бұрын
тож самое было, перезапусти ВС, должно помочь но это не страшная проблемка
@kpanat
@kpanat Жыл бұрын
Про 2-мерные массивы вобще мало рассказал. И вобще есть 2-мерные это вот такие статические( к сожалению динамических двумерных нет...) и двойные, про которые он говорит. Но это несколько другие массивы. Компилятор здесь хитрит и всегда делает 2-мерные(не массив массивов а именно 2-х мерный без промежуточных указателей что весьма экономит память и эффективность работы но делает обращение к его элементам несколько неудобным) Фактически представленный нам агрегат данных это 2-х мерный массив без промежуточных указателе, т.е. не массив массивов как говорит автор, а просто 2-х мерный массив сам того не осознавая. Я не знаю знает автор это или нет. Но судя по его рассказу ясно что эта тема ему самому плохо известна потому что он говорит неправильно. Сможете ли в при этом разобраться? Я сомневаюсь... Вобщем как факт сообщаю что этот 2-мерный массив на самом деле 1-мерный как и 3- 4-х и тд мерные массивы. А это просто как говорят синтаксический сахар для удобства. Но согласитесь удобно... Однако надо иметь ввиду что длину строки указывать при инициализации надо обязательно! Иначе компилятор не сможет работать. Вы можете создать динамический 1-мерный массив с 6-тью элементами = 2х3. Вот только обращаться к ним вы сможете только так: matrix[i*size_y + j] а не как matrix[i][j] как тут . Где size_y длинна строки. Т.е. знать длинну строки обязательно!
@Скартошкой
@Скартошкой 2 ай бұрын
У меня вопрос а куда делся std::
@aleksevgeny
@aleksevgeny 2 ай бұрын
Он добавил using namespace std; Но так делать не надо. Лучше либо всегда std:: прописывать, либо после include снизу написать все часто используемые. Например: using std::cout; using std::cin; using std:: endl; И так далее. Думаю, понятен смысл
@eNvedimka
@eNvedimka Жыл бұрын
Народ, підкажіть мені будь ласка. Я вирішив зупинити відео на цьому моменті 15:46 і самому виконати це невеличке завдання, а потім звіритися з тим що буде казати автор далі. Я зробив майже те ж саме, тільки виникла одна помилка, вона вже в мене неодноразово виникала, що напочатку я не присвоював якесь значення змінній, в даному разі *_float n1;_* , а вже потім в процесі написання коду я вже присвоював їй якесь значення і виникало одне попередження і одна помилка - *_використання неініційованої пам'яті n1_* - *_використання неініційованої змінної n1_* приклад, який я зробив після зупинки відео float number3[6]; float n1; for (int a = 0; a < 6; a++) { std::cout number3[a]; } for (int a = 0; a < 6; a++) { n1 += number3[a]; } std::cout
@Mafter
@Mafter Жыл бұрын
когда ты создаёшь переменную ----- float n1; ----- ей не присваивается никакого значения (то есть, она ничему не равна, даже нулю), это просто (условно) пустое место для каких-то данных. а дальше ты в коде что-то пытаешься к ней прибавить ----- n1 += number3[a]; ----- Ты к пустому месту (не фактическому числу) пытаешься прибавить число, отсюда и ошибка. Если бы ты сразу написал float n1 = 0; то переменная была бы нулём, то есть числом. К числу можно прибавить число, соответственно код бы работал нормально. Насчёт фигурных скобок, это не самая лучшая привычка. Лучше так конечно не делать. Надеюсь помог)
@eNvedimka
@eNvedimka Жыл бұрын
@@Mafter Так, зрозумів. Дякую за розгорнуту відповідь.)
@StartuePotoya
@StartuePotoya 11 ай бұрын
​@@Mafterв Pawn языке. при создании переменной по умолчанию ей присвоено значение 0 .
@lauffyg
@lauffyg 2 жыл бұрын
сайт не работает
@denyskozinets2541
@denyskozinets2541 2 жыл бұрын
мне кажется что сложнее понять цыкл for чем массивы
@MAGZ2K2
@MAGZ2K2 Жыл бұрын
Его можно заменить int ff; begin: \\метка для перехода ff++; \\увеличить переменную if( ff < 5) goto begin; \\перейти на метку если переменная меньше 5
@deniszaltsberg2127
@deniszaltsberg2127 Жыл бұрын
@@MAGZ2K2 еще сложнее, но понятнее
@Потомпоидумаю
@Потомпоидумаю 9 ай бұрын
Что такое протокол?
@Arh-s2q
@Arh-s2q 8 ай бұрын
Не знаю
@Человек-щ6ь
@Человек-щ6ь 7 ай бұрын
Не помню
@СилкоЧернослив
@СилкоЧернослив Жыл бұрын
Стоп а разве массив не будет часто меняется и такой перебор будет не лучшим ?
@soul45860
@soul45860 Жыл бұрын
Если у тебя массив будет меняться , используй динамический массив.
@kpanat
@kpanat Жыл бұрын
Товарищ рассказывает гораздо меньше чем знает... Это чувствуется. Его рассказ довольно поверхностный. И его недостаточно для полного понимания... Ибо за 25 таких уроков нельзя рассказать о С++ так чтобы вы его хорошо поняли. Это всё равно что изучить С++ за 21 день... Вам придётся самим разбираться. Отладчик вам в помощь... Без него вы вряд ли разберётесь как следует!
@yamaracuya
@yamaracuya 5 ай бұрын
Что такое отладчик?
@user-wn6pc4ns7n
@user-wn6pc4ns7n 3 ай бұрын
он и не обязан учить нас. курсы программирвания платные. скажи спасибо, что хотя бы базу дает
@ИгорьЛукьянов-н2н
@ИгорьЛукьянов-н2н Жыл бұрын
Подскажите кто-нибудь пожалуйста, что мне делать, у меня есть в программе массив, у которого n елементов(int nums[n]). Вот та самая часть программы: int n; cin >> n; int nums[n]; Так вот при запуске программы у меня выходит ошибка: "выражение должно иметь констатное значение". Как мне это исправить?
@cian7893
@cian7893 Жыл бұрын
Для таких случаев используй chat gpt, он не только решит твою проблему и объяснит ее
@ИгорьЛукьянов-н2н
@ИгорьЛукьянов-н2н Жыл бұрын
@@cian7893 так он же платный, но все равно спасибо
@AlexXLEX-n9i
@AlexXLEX-n9i Жыл бұрын
int n = 0;
@wrebly4774
@wrebly4774 Жыл бұрын
Хто ще зіткнувся з такою проблемою, ось відповідь: nums[n] це статичний масив який працює тільки вже вказаним розміром, його не можна змінювати в ході компіляції, компіляції, на те він і статичний , потрібно просто створити і використовувати динамічний масив, або, як кажуть в неті, робити щось типу такого vector a(x);
@ИгорьЛукьянов-н2н
@ИгорьЛукьянов-н2н Жыл бұрын
​@@wrebly4774спасибо
@belova_nesq
@belova_nesq 9 ай бұрын
а нах эти массивы нужны то
@Xeeina
@Xeeina 2 жыл бұрын
Не чего не знаю кому заплатить кому научит?
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
Могу научить за некую сумму, если у Гоши не хочешь учиться.
@Xeeina
@Xeeina 2 жыл бұрын
@@leogscdlr2894 как выйти с тобой на связь
@Xeeina
@Xeeina 2 жыл бұрын
@@leogscdlr2894 Гуги ты куда пропал ?
@user-yx7pz6se6t
@user-yx7pz6se6t 2 жыл бұрын
не начинай учить с++ если ничего не знаешь. Идеальный язык прогр. для новичков это python, начни с него. Я 13 летний школьник немного изучив пайтон теперь могу с++ учить, на этом канале есть уроки по python. Потребуется неделя или две смотря как часто будешь учить
@user-yx7pz6se6t
@user-yx7pz6se6t 2 жыл бұрын
а если ты вообще совсем совсем ниче не знаешь прям полный 0, начни с простого изучения алгоритмов информатики 8-11 классов, или начни учить Scratch
@MS-SNA12
@MS-SNA12 8 ай бұрын
От многомерный массив это же простейшая алгебра😊
Изучение C++ для начинающих / #8 - Динамический массив данных
10:11
Школа itProger / Программирование
Рет қаралды 103 М.
Изучение C++ для начинающих / #6 - Циклы и операторы в них (For, While, Do While)
21:16
Школа itProger / Программирование
Рет қаралды 179 М.
Jaidarman TOP / Жоғары лига-2023 / Жекпе-жек 1-ТУР / 1-топ
1:30:54
Who is More Stupid? #tiktok #sigmagirl #funny
0:27
CRAZY GREAPA
Рет қаралды 10 МЛН
Непосредственно Каха: сумка
0:53
К-Media
Рет қаралды 12 МЛН
Изучение C++ для начинающих / #10 - Создание функций в языке C++
17:41
Школа itProger / Программирование
Рет қаралды 97 М.
Изучение C++ в одном видео уроке за час!
1:14:33
Гоша Дударь
Рет қаралды 837 М.
Изучение C++ для начинающих / #5 - Случайные числа. Разработка Калькулятора
20:24
Изучение C++ для начинающих / #12 - Указатели и ссылки
23:04
Школа itProger / Программирование
Рет қаралды 85 М.
Изучение C++ для начинающих / #9 - Работа со строками и символами
10:31
Школа itProger / Программирование
Рет қаралды 91 М.
как тебе будут продавать в 2025
16:22
Тихон Смирнов
Рет қаралды 473 М.
Jaidarman TOP / Жоғары лига-2023 / Жекпе-жек 1-ТУР / 1-топ
1:30:54