SEO продвижение сайтов

Массивы в С++

Массив - это тип данных, представленный в виде группы ячеек одного типа, объединенных под одним единым именем и расположенных в памяти подряд. Массив - это непрерывная область памяти. Массив имеет индексы (int - целочисленные значения) от меньшего к большему.

Первый элемент массива имеет индекс - НОЛЬ. Имя массива является указателем на весь массив. Элементами массива могут быть данные любого типа, но только одного типа, который указывается заранее.

Массивы бывают – одномерными, двумерными и многомерные (n-мерные). Индексы массива начинаются с нуля (это смещение). Сначала пишется тип данных, которые будут храниться в массиве, потом имя массива, после могут быть указаны данные.

int arr[2];//Создаем массив arr из 2-х элементов
arr[0]=1;//Первый элемент массива
arr[1]=1;//Второй элемент массива

А можно так:

int size=2;
int arr[size];
...

А можно уже с данными, при этом количество элементов указывать не обязательно.

int arr[]={1,2,3};//Можно сразу создать массив со значениями

Длина массива

int n=sizeof(arr)/sizeof(int);//Длина массива
//или
int n=sizeof(arr)/sizeof(arr[0]);//Длина массива

Полный вариант:

#include <iostream>
using namespace std;//Пространство имён

int main()
{
setlocale(0,"");//Кириллица

int arr[]={1,2,3};//Создаем массив и значения
int n=sizeof(arr)/sizeof(arr[0]);//Делим размер всего массива на размер первого (одного) элемента
cout << n << endl;//Выводит 3
}

Обход массива С++ в цикле

#include <iostream>
using namespace std;//Пространство имён

int main()
{

int arr[]={5,-12,-3,9,10};//Создаем массив
int n=sizeof(arr)/sizeof(arr[0]);//Узнаем длину массива

for(int i=0; i<n; i++)//Обходим массив в цикле
{
cout << arr[i] << endl;//Выводим элементы массива
}

system("pause");//Команда задержки экрана
return 0;
}

Имя массива является ссылкой на него: записи: arr и &arr равны.

Двумерные массивы в С++

//Пример объявление двумерного массива:
int arr[5][3];

или так:

//Инициализация двумерного массива:
int arr[][3]={{4,7,8}, {9,66,-1}, {5,-5,0}, {3,-3,30}, {1,2,3}};

Массивы также могут быть многомерными (n-мерными).

Динамические массивы

Динамические массивы и генератор случайных чисел в массиве:

С++ использует методы работы с динамической памятью при помощи операторов new и delete:

  • new — для выделения памяти;
  • delete — для освобождения памяти.

Оператор new используется в следующих формах:

  • new тип; — для переменных
  • new тип[размер]; — для массивов

Динамический массив - генератор случайных чисел для значений массива - пример:

#include <iostream>
#include <cstdlib>//Библиотека rand
#include <ctime>//Библиотека time
using namespace std;//Пространство имён

int main()
{
setlocale(0,"");//Кириллица
unsigned rand_value=time(0);//Секунд с 01.01.1970
srand(rand_value);//Рандомизация генератора случайных чисел
//srand(time(0));//Или так

int size=5;//Длина массива
int* arr=new int[size];//Выделение динамической памяти под массив

for (int i=0; i<size; i++)
{
arr[i]=rand()%10;//Присваиваем случайные значения от 0 до 9
}

for (int i=0; i<size; i++)
{
cout << arr[i] << " = " << *(arr+i) << " - адрес: " << arr+i << endl;//адреса +4 байта
}

delete []arr;//Освобождаем память после массива
arr=NULL;//Затираем ссылку на массив

system("pause");//Команда задержки экрана
return 0;
}

Автор: Алехин Геннадий (20.12.2019)

Ошибки в тексте выделить и Ctrl+Enter


Расскажи о нас друзьям

Web-технологии

SQL инъекции в PHP

Конечно, SQL инъекции в PHP возможны только при отсутствии проверки данных из форм и при наличии явных ошибках программистов. Я пишу эту статью для тех, кто НЕ хочет стать жертвой таких атак на свой сайт и для тех, кто хочет писать свои безопасные приложения.

Пишем форму для отправки логина и пароля для АВТОРИЗАЦИИ:

<form action="" method="POST">
        <input type="text" name="email" value="<?=$email?>"><br>
        <input type="text" name="pass" value="<?=$pass?>"><br>
        <input type="submit" name="subm" value="Авторизоваться">
</form>
Подробнее...

PHP-код вывода массивов в HTML

Все программисты PHP (с любым уровнем подготовки), конечно знаю, как вывести массив PHP в HTML-код: ну, конечно же через цикл!

Я предлагаю это сделать при помощи функции, которая отобразит любой массив в любом виде c HTML оформлением. Данной функции мы передаём в качестве аргументов: массив и формат отображения его в виде другой функции.

Такой подход даёт универсальность данной функции отображения массива и значительно сокращает дублирование PHP кода.

Пример:

Подробнее...

Composer — менеджер зависимостей в PHP

https://getcomposer.org/

  • Запускаем Open Server, открываем консоль,
  • Переходим в папку проекста - cd C:\Users\alehin_gv\Desktop\OSPanel\domains\test.ru
  • Скачиваем Композер - composer init
  • Устанавливается composer.json
Подробнее...
Интересные статьи

Стишки-депрессяшки

Стишки-депрессяшки

У меня нет попы

у меня нет тить

я должна работать

чтобы как то жить

©

В камасутре много

интересных поз

жаль у нас с женою

остеохондроз

©

Надо же приснится

всякая херня

прямо на работе

среди бела дня

Подробнее...

Почему или резонные вопросы

Почему или резонные вопросы

Хотель бы получить ответы на такие вопросы:

  1. Почему современные технологии одновременно позволяют производить банки для пива, которые не разлагаются на свалке за 100 лет, и кузова автомобилей, которые гниют за 3-4 года?
  2. Почему лимонный сок сделан из концентрата, а средство для мытья посуды – из настоящего лимона?
  3. Почему белая нитка, которой соединены новые носки, всегда оказывается прочнее, чем нитки, из которых сделаны сами носки?
Подробнее...

Детские загадки для взрослых

murzilka m

*Загадки, которые были опубликованы в журнале "Мурзилка" 30 лет назад!!! Сегодня они не для детей точно: ))*

1. Чтобы спереди погладить, нужно сзади полизать. (Почтовая марка)

2. Кругом волоса, посредине колбаса. (Кукуруза)

3. Сверху черно внутри красно, как засунешь так прекрасно. (Галоши)

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить