Массивы
Часто возникает необходимость хранить не одну переменную, а набор однотипных переменных. Например, список учащихся класса – это набор данных строкового типа, координаты вершин многоугольника или коэффициенты многочлена – это набор числовых данных. Для хранения наборов данных используются структуры данных. Основная структура данных – это массив.
— это структура однотипных данных, занимающих непрерывную область памяти. Массив имеет размер — количество элементов в нем. Каждый элемент массива имеет свой номер (также называемый ), обращение к элементу массива осуществляется путем указания его индекса. В языке C++ элементы нумеруются, начиная с 0, поэтому последний элемент массива имеет номер на 1 меньше размера массива.
Массив в языке C++ задается следующим образом:
тип_элементов идентификатор [ размер ];
где тип_элементов — произвольный тип данных языка C++, который будут иметь элементы массива, например, int , double и т.д.; идентификатор — имя массива, размер — число элементов в нем.
К элементу массива можно обращаться, как идентификатор [ индекс ] . Например, если было сделано объявление
то таким образом создается 5 элементов массива типа double : A[0] , A[1] , A[2] , A[3] , A[4] .
Пример программы, которая создает массив типа int[] , заданного пользователем размера, считывает с клавиатуры его элементы, затем прибавляет к каждому элементу массива число 1 , затем выводит результат на экран:
#include
using namespace std;
int main()
int n; // Размер массива
int i; // Счетчик в циклах
int arr[n]; // Объявление массива (так делать нельзя), лучше вместо такого объявления массива использовать std::vector arr(n);
// Прибавляем по 1 к каждому элементу
for(i=0;i
// Выводим массив на экран
for(i=0;i
cout return 0;
>
В этом примере при помощи // обозначается начало комментария, весь текст после начала комментария и до конца строки компилятором игнорируется. Второй способ объявления комментария: в начале комментария поставить знаки /* , а в конце – */ . Это позволяет делать комментарии, занимающие несколько строк. В языке C допустимы только такие комментарии. ::min()>@w< >— минимальное значение типа @code —> ::max()>@w< >— максимальное значение типа @code. —>
Упражнения
- (A) Выведите на экран все элементы массива с четными индексами (то есть A[0] , A[2] , A[4] , . ).
- (B) Выведите на экран все четные элементы массива (то есть те элементы, которые являются четными числами).
- (C) Найдите количество положительных элементов в массиве. Программа должна считать массив и вывести единственное число – количество положительных элементов в массиве.
- (D) Дан массив. Найдите количество элементов массива, которые больше предыдущего элемента в этом массиве.
- (E) Массив содержит только ненулевые числа. Определите, есть ли в данном массиве два соседних элемента с одинаковыми знаками. Программа должна вывести YES , если есть два числа с одинаковыми знаками и NO иначе.
- (F) Дан массив. Определите, сколько в этом массиве элементов, которые строго больше обоих своих соседей.
- (G) Дан массив. Переставьте элементы массива в обратном порядке без использования дополнительного массива. Программа должна считать массив, поменять порядок его элементов, вывести результат на экран (просто вывести элементы массива в обратном порядке – недостаточно!).
- (H) Переставьте соседние элементы массива (0-й элемент поменять с 1-м, 2-й с 3-м и т.д. Если элементов нечетное число, то последний элемент остается на своем месте)
- (I) Циклически сдвиньте элементы массива вправо (0-й элемент становится 1-м, 1-й становится 2-м, . последний становится 0-м, то есть массив превращается в массив ).
- (J) Найдите значение наибольшего элемента в массиве.
- (K) Дан массив, отсортированный по возрастанию (каждый элемент массива не меньше предыдущего элемента, например, ). Найдите количество различных чисел в этом массиве. 2 ,x ^2>+. +@code@formula,x n-1 ,x^(n-1)>.> —>
Как взять последний элемент массива js
Используя возможности JavaScript, последний элемент массива можно найти с помощью метода Array.prototype.at():
Посмотрим на пример:
const numbers = [1, 2, 3, 4]; console.log(numbers.at(-1)); // => 4
Для нахождения последнего элемента в массиве укажите в скобках -1.
Такой метод доступен начиная с Node 16.6
Документация:
- Array.prototype.at()
21 апреля 2023
arr.slice(-1) //как вариант
01 ноября 2021
Если необходимо получить значение последнего элемента массива, то это можно сделать просто обратившись по индексу. Индексом будет длина массивам минус один:
const numbers = [1, 2, 3]; const item = numbers[numbers.length - 1]; console.log(item); // => 3
Есть встроенный метод pop() , который извлекает последний элемент из массива и при этом удаляет этот элемент в исходном массиве:
const numbers = [1, 2, 3]; const item = numbers.pop(); console.log(item); // => 3 console.log(numbers); // => [1, 2]
Как найти последний элемент в int массиве?

Если у вас есть только указатель на начало массива — то никак. Храните длину отдельно.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Пишу комментарии в комментарии, а не в ответы
Никак, если его не помечать.
Для этого в char-строках («C-strings», «zero-terminated strings») добавляют в конец элемент со значением ‘\0’ (нуль-символ), на наличие которого опираются стандартные функции, вроде strlen(const char*) , которая считает символы до первого зеро-терминатора.
ЗЫ Теоретически, есть еще некоторый allocation header, который находится перед выделяемым динамически (то есть только в хипе) буфером, на который ориентируется free(void*) , но это никак не регламентируется стандартом.
UPD: Начиная с C++11 у нас есть std::array , который фактически оборачивает буфер в объект.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Linux
- +1 ещё
Как сделать многопоток сокетов?
- 1 подписчик
- 5 часов назад
- 59 просмотров
C++ Как мне обозначить последний элемент массива, чтобы поставить перед ним точку?

Как вы видите мой массив статический, я сделал так чтобы через цикл после каждого элемента ставилась запятая. Она ставится в том числе и после последнего элемента массива, и это мне не нравится. Как сделать так, чтобы после последнего элемента массива ставилась точка?
Лучший ответ
Семен БолтЗнаток (493) 4 года назад
Оказывается всё было так просто, спасибо. Почему за пределы? Я же там написал что i
Хлебушек Оракул (74084) вроде бы даже if (i == size — 1) Ну допустим пример на size = 5; 5 — это количество элементов в массиве: [0] [1] [2] [3] [4] — посчитайте, 5 штук. Он не должен быть равен 5, при 5 должен выйти из цикла, а у вас зайдет.
Остальные ответы
Ещё есть полезный символ — забой: ‘\b’. Если надо забить точкой два символа «, «, то после цикла можно просто выдать cout