[C++] [Уроки от Cool_Story] [Урок №4] - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[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
<< endl;

Дописать
Code
"Текст\n"

Например -
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.

Думаю, с массивами пока-что закончим, но мы всё-павно рано или поздно к ним верёмся, так-как при написании практически любой программы, Вам придётся с ними поработать.

Строки.


Чаще всего одномерные массивы используются для создания символьных строк.
Однако, в отличии от массивов, хранящих в себе числа, при объявлении символьного массива, мы должны зарезервировать место для нулевого символа в конце строки. Например -
Code
char stroka[11];

_________________________

Итак, если мы через "cin >>" будем выводить строку, то -
"Hello World", выведится следующим образом - "Hello".
Так-что, вместо "cin >>", следует использовать - "gets('имя переменной')".
Однако для работы функции "gets()", следует прописать в самом начале, после -
Code
#include <iostream>

Вот это -
Code
#include <cstdio>

То-есть подключить библиотеку - "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=))
И ещё меня интересует Ваше мнение, насчёт одной немаловажной детали:
Стоит ли мне разжёвывать весь тот материал, который я буду вносить в уроки ?
Или же придерживаться моему стилю ?

Желательно больше разжёвывай


К виртам/аккаунтам никакого отношения не имею.
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
billienq1 [01:47]

staciah1 [01:15]

maksmovictimofej [00:18]

jamiedv6 [21:25]

billieds7 [20:51]

aprilez9 [15:57]

am9350450 [14:36]

dcvfre [11:04]

Sheroz [10:38]

dominiquevp60 [08:59]

derrickuy11 [05:48]

leannaaw60 [04:45]

nonaxn11 [23:52]