[C++] [Уроки от Cool_Story] [Урок №4]
|
|
Cool_Story_Bro=) |
Дата: Среда, 31.10.2012, 14:17 | Сообщение # 1
|
Любитель
Сообщений: 49
Статус: Offline
|
Урок №4 Массивы, строки
Итак... как я и обещал, сегодня мы разберём массивы и строки. Для начала, небольшое вступление. Переменные бывают нескольких типов и некоторые из них мы уже знаем - int "имя переменной" - целочисленный тип переменной ( integer ); char "имя переменной" - символьная переменная; double "имя переменной" - будем называть дробной переменной ( например: 1,2 ; 5,12 и т.д. ); float "имя переменной" - переменная с "плавающей" точкой.
Далее... Например в Code cout << "Текст" << endl; Можно, вместо Дописать Например - Code cout << "Наша первая программа\n"; "\n" можно расшифровать, как "endline" - "конец строки".
Массивы.
Ну во-первых, начнём с того, что массивы бывают: 1) Одномерные ( mass[3] ); 2) Двумерные ( mass[5][2] ); 3) Многомерные ( mass[8][4][2] ).
Объявляются они следующим образом - 1) тип имя[размер] ( например: int ar[5] ); 2) тип имя[размер1][размер2] ( например: int ar[5][2] ); 3) тип имя[размер1][размер2][размер3]...[размерXXXX] ( например: int ar[5][2][3][10] );
Разберём сразу небольшую программу, выводящую на экран числа от 0 до 9 - Code #include <iostream> using namespace std;
int main() { int mass[10]; int e; for(e=0; e<10; e++) mass[e]=e; // Помещаем в массив значения от 0 до 9 for(e=0; e<10; e++) cout << mass[e] << "\n"; // Выводим все значения на экран return 0; } Теперь, возьмём фрагмент кода и разберём его - Code for(e=0; e<10; e++) mass[e]=e; Войдя в цикл, 'e' принимает значение = 0; Выполняется тело цикла ( mass[e]=e ). То-есть, первое число ( счёт в массиве начинается от 0 ) в массиве примет значение = 0; 2 число = 1 и т.д. до 9. Далее, выводим все значение на экран - Code for(e=0; e<10; e++) cout << mass[e] << "\n"; Как видите, снова попадаем в цикл. И его тело будет выполняться до тех пор, пока мы не выведем на экран - mass[9], то-есть число 9.
Думаю, с массивами пока-что закончим, но мы всё-павно рано или поздно к ним верёмся, так-как при написании практически любой программы, Вам придётся с ними поработать.
Строки.
Чаще всего одномерные массивы используются для создания символьных строк. Однако, в отличии от массивов, хранящих в себе числа, при объявлении символьного массива, мы должны зарезервировать место для нулевого символа в конце строки. Например - _________________________
Итак, если мы через "cin >>" будем выводить строку, то - "Hello World", выведится следующим образом - "Hello". Так-что, вместо "cin >>", следует использовать - "gets('имя переменной')". Однако для работы функции "gets()", следует прописать в самом начале, после - Вот это - То-есть подключить библиотеку - "cstdio".
____________________________________ Ну думаю, на сегодня достаточно. Сильно всё не разжёвывал, так-как думаю каждый 2 посетитель данного форума, знаком хотя-бы с основами данного языка программирования. В след.уроке, разберём некоторые функции обработки строк ____________________________________ Ссылки на предыдущие уроки - Урок №1 - http://cheat-master.ru/forum/118-37516-1 ; Урок №2 - http://cheat-master.ru/forum/118-37529-1 ; Урок №3 - http://cheat-master.ru/forum/118-37750-1 ;
|
|
|
|
alex3931 |
Дата: Среда, 31.10.2012, 15:41 | Сообщение # 2
|
Боец
Сообщений: 129
Статус: Offline
|
Было бы неплохо после каждого урока, делать домашние задание
Пишу софт на заказ.Скайп sprilt
|
|
|
|
Cool_Story_Bro=) |
Дата: Среда, 31.10.2012, 15:58 | Сообщение # 3
|
Любитель
Сообщений: 49
Статус: Offline
|
Quote (alex3931) Было бы неплохо после каждого урока, делать домашние задание В принципе, было-бы не плохо. Возможно в следующих уроках добавлю Д/З. И конечно-же, спасибо за совет.
И ещё меня интересует Ваше мнение, насчёт одной немаловажной детали: Стоит ли мне разжёвывать весь тот материал, который я буду вносить в уроки ? Или же придерживаться моему стилю ?
|
|
|
|
alex3931 |
Дата: Среда, 31.10.2012, 16:16 | Сообщение # 4
|
Боец
Сообщений: 129
Статус: Offline
|
Я раньше был знаком с массивами, мне этот урок был понятен, а для новичков возможно что то не понятно
Пишу софт на заказ.Скайп sprilt
|
|
|
|
HOME_HOME |
Дата: Пятница, 28.12.2012, 09:42 | Сообщение # 5
|
Боец
Сообщений: 62
Статус: Offline
|
Cool_Story_Bro=), Массивы могут сохранять внутри себя числа ,а размер их зависит от Цитата (Cool_Story_Bro=)) 1) Одномерные ( mass[3] ); 2) Двумерные ( mass[5][2] ); 3) Многомерные ( mass[8][4][2] ). Да?
|
|
|
|
pr9n |
Дата: Пятница, 28.12.2012, 12:23 | Сообщение # 6
|
Авторитет
Сообщений: 921
Статус: Offline
|
HOME_HOME, Ты не забывай про типы переменных. Ведь даже если ты обьявиш огромный массив, тем же int. В него влезет максимум примерно 2*10^9 . Ну а так да, в скобках это размерность массива.
[url=http://vk.com/ipr9n][img]http://i.imgur.com/kaVwM9K.png[/img][/url][url=http://instagram.com/ipr9n][img]http://i.imgur.com/eNAwOKh.jpg[/img][/url]
|
|
|
|
Cool_Story_Bro=) |
Дата: Воскресенье, 30.12.2012, 12:03 | Сообщение # 7
|
Любитель
Сообщений: 49
Статус: Offline
|
Простой пример заполнения массива - Код int mass[3];
int mass[0] = 10; int mass[1] = 11; int mass[2] = 12;
Размер чисел зависит от типа переменной, а размер массива зависит от числа в квадратных скобках.
|
|
|
|
pr9n |
Дата: Воскресенье, 30.12.2012, 13:47 | Сообщение # 8
|
Авторитет
Сообщений: 921
Статус: Offline
|
Cool_Story_Bro=), выбьет повторно объявленый идентификатор. Ты когда заполняешь масив, все время по новой объявляешь его, не?
[url=http://vk.com/ipr9n][img]http://i.imgur.com/kaVwM9K.png[/img][/url][url=http://instagram.com/ipr9n][img]http://i.imgur.com/eNAwOKh.jpg[/img][/url]
|
|
|
|
Cool_Story_Bro=) |
Дата: Понедельник, 31.12.2012, 15:36 | Сообщение # 9
|
Любитель
Сообщений: 49
Статус: Offline
|
Цитата (pr9n) выбьет повторно объявленый идентификатор. Ты когда заполняешь масив, все время по новой объявляешь его, не? Тьфу ты, действительно. Как я мог допустить такую ошибку)
|
|
|
|
Ронни1 |
Дата: Пятница, 04.01.2013, 12:57 | Сообщение # 10
|
mdk
Сообщений: 235
Статус: Offline
|
Цитата (alex3931) for(e=0; e<10; e++) mass[e]=e; // Помещаем в массив значения от 0 до 9 for(e=0; e<10; e++) cout << mass[e] << "\n"; // Выводим все значения на экран второй раз зачем писать цикл for ? только загромождать программу))
---------------------------------------------------------------------------------------------------------------------
скайп man.ronny(нажми на няшку, чтобы добавить меня в скайп)
|
|
|
|
TrueFalse |
Дата: Пятница, 04.01.2013, 13:43 | Сообщение # 11
|
Боец
Сообщений: 161
Статус: Offline
|
Ронни, он это сделал как пример
Мои работы: 1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1 2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773 3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1 4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1
|
|
|
|
Коди |
Дата: Четверг, 18.07.2013, 20:03 | Сообщение # 12
|
Боец
Сообщений: 73
Статус: Offline
|
Цитата (Cool_Story_Bro=)) И ещё меня интересует Ваше мнение, насчёт одной немаловажной детали: Стоит ли мне разжёвывать весь тот материал, который я буду вносить в уроки ? Или же придерживаться моему стилю ? Желательно больше разжёвывай
К виртам/аккаунтам никакого отношения не имею.
|
|
|
|