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

Что означает запись ++arr1[arr2[i]] - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. Дописать программу http://www.cyberforum.ru/cpp-beginners/thread1220958.html
Помогите написать, дописать эту программу очень нужна ваша помощь... Задание:заданы два множества точек на плоскости. Построить пересечение и разность этих множеств. То что я попыталась написать... мои наработки: #include "stdafx.h" #include <iostream> using namespace std; int main(); int _tmain(int argc, _TCHAR* argv)
C++ Перевод с Pascal (Определение локальных минимумов) var Mass: array of integer; i, N, Count_LocalMin: byte; begin write(' N = '); readln(N); writeln('Введите ', N, ' целых чисел:'); writeln; for i := 1 to N do http://www.cyberforum.ru/cpp-beginners/thread1220954.html
Отсортировать файл в порядке возрастания длин строк C++
Ребят, помогите, пожалуйста с этими программами: 2) Текстовом файле находятся строки (не более 30). Отсортировать файл в порядке возрастания длин строк. Может кто уже сталкивался с подобным или есть какие идеи, пожалуйста, поделитесь. У меня не получается((((
C++ Шифрование XOR не работает с кириллицей
Проблема и никак не могу решить. Функция XOR возвращает при исходной строке "съешь еще этих мягких мексиканских кактусов да выпей текилы": "?????N???p????N??????G????????????E????????E??L?????E?????? @" то есть не хочет читать кириллицу: void XOR(char* lpPassword, unsigned char* lpResult) { if(lpPassword=='\0' || strlen(lpPassword)<=0) return;
C++ Составить блок -схему алгоритма и программу вычисления суммы n членов ряда согласно условию задачи http://www.cyberforum.ru/cpp-beginners/thread1220934.html
Составить блок -схему алгоритма и программу вычисления суммы n членов ряда согласно условию задачи.
C++ Составить массив из номеров строк, все элементы которых являются простыми числами Помогите,пожалуйста! Ввести размер матрицы М x N и значения ее элементов. Составить массив из номеров строк, все элементы которых являются простыми числами. Если в строке нет простых чисел, вывести сообщение. подробнее

Показать сообщение отдельно
BlackSpace
136 / 129 / 51
Регистрация: 15.03.2014
Сообщений: 274
02.07.2014, 01:42     Что означает запись ++arr1[arr2[i]]
Джек, массив frequency изначально заполнен нулями.
C++
1
int frequency[ size2 ] = { 0 } ;
Позже в цикле элементы данного массива увеличиваются.

Рассматриваем данную запись "изнутри".
1) переменная answer в первом цикле принимает значения от 0 до 39 включительно.
2) соответственно обращение responses[ answer ] внутри цикла - выдает нам все элементы массива responses с индексами от 0 до 39. Данные элементы являются номерами - 1, 2, 6, 4, 8, 5, 9, 1, 8, 10, 1, 6, 3, 8, 6, 10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7, 5, 6, 6, 5, 6, 7, 5, 6, 4, 8, 6, 8, 10. Можно заметить, что значения повторяются.
3) значит обращение frequency [ responses [ answer ] ] на определенной итерации цикла будет
- 1 итерация: frequency [ 1 ] ( answer = 0, responses [ answer ] = 1 )
- 2 итерация: frequency [ 2 ] ( answer = 1, responses [ answer ] = 2 )
- 3 итерация: frequency [ 6 ] ( answer = 2, responses [ answer ] = 6 )
- 4 итерация: frequency [ 4 ] ( answer = 3, responses [ answer ] = 4 )
- 5 итерация: frequency [ 8 ] ( answer = 4, responses [ answer ] = 8 )
...
- 39 итерация: frequency [ 10 ] ( answer = 39, responses [ answer ] = 10 )

4) Таким образом, ++frequency [ responses [ answer ] ], например на 12-ой итерации цикла ( когда answer = 11 ) - увеличивает значение элемента массива frequency[ 6 ]. Когда была 3-я итерация ( answer = 2 ) также был увеличен элемент массива frequency[ 6 ].
 
Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru