Форум программистов, компьютерный форум CyberForum.ru

Отрицательные индексы элементов массива. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.93
Arbes
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 28
21.01.2011, 16:25     Отрицательные индексы элементов массива. #1
Вообщем нашел очень скупую информацию про то как сними работать.В одной книжке гоовриться что для этого нужно определить дополнительный указатель на массив.Там же дан пример
C++
1
2
3
int A[]={1,11,111};
int * Aptr=&A[2];//дополнительный указатель
cout <<endl<<Aptr[0]<<Aptr[-1]<<Aptr[-2];//что на выходе даёт 11 11 1
Вообщем можете объяснить немного как это работает или где об этом можно узнать?Почему индексация с право налево при отрицательных индексах идет только тогда когда введен этот доп.указатель.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2011, 16:25     Отрицательные индексы элементов массива.
Посмотрите здесь:

C++ Дан массив А. Образовать реверс массива А в массиве В. Вывести оба массива и индексы элементов на экран в виде трех столбцов.
C++ как запомнить индексы равных элементов массива?
C++ Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно)
C++ Определить индексы подряд расположенных положительных элементов массива
C++ Замена отрицательных элементов массива на их индексы
C++ Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции
Определить индексы максимального и минимального элементов массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.01.2011, 17:30     Отрицательные индексы элементов массива. #2
Вообщем можете объяснить немного как это работает или где об этом можно узнать?
почитайте про адресную арифмеику
Почему индексация с право налево при отрицательных индексах идет только тогда когда введен этот доп.указатель.
потому что имя массива есть указателем на 1-й элемент массива, следовательно введя доп. указатель указывающий на последний элемент, через него можно обратся к остальным элемента массива используя отрицательные индексы
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2011, 18:39     Отрицательные индексы элементов массива. #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
#define SIZE 5
int main(void){
    int arr[SIZE] = { 1, 2, 3, 4, 5 }, * p, i;
    
    p = arr + SIZE;
    
    for ( i = -1 * SIZE; i < 0; ++i )
        printf("%d ", p[i]);
    
    printf("\n");
    return 0;
}
вот только зачем это?..
Yandex
Объявления
21.01.2011, 18:39     Отрицательные индексы элементов массива.
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru