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

функция возвращающая аргументу его значение сама по себе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перемножение матриц http://www.cyberforum.ru/cpp-beginners/thread792476.html
Перемножить матрицы m*n и m*p где заданы константы n=1000,m=1100,p=12000
C++ Как назвать файл переменной n? Господа, помогите новичку, я пишу программу и я хочу, чтобы она создавала файл, названной по имени переменной n, которую я ввожу чуть-чуть раньше. Т.е. если я в качестве переменной пишу Hello world, то у меня файл, куда далее будут записаны некие данные назывался "Hello world" http://www.cyberforum.ru/cpp-beginners/thread792440.html
Функции.Зачем нужны void функции? C++
Здравствуйте люди.Я учусь по книге C++ для чайников.Там объясняют многое про функции.Одного не могу понять.Зачем нужны void функции с аргументом void раз они ничего не возвращают и им нельзя ничего передать.Какая польза от них? Если кто нибудь покажет на примере буду благодарен.Спасибо всем.
C++ помогите написать программу для определения базиса и ранга матрицы
помогите пожалуйста написать программу для определения базису и рангу матрици.... (вопрос жизни и смерти )
C++ Какой компилятор лучший http://www.cyberforum.ru/cpp-beginners/thread792387.html
Здравствуйте, дорогие форумчане! Начинаю учебу c++ какие литературы читать и какой компилятор использовать(чаще всего для ООП).
C++ Шифрование иДешифрование на С++ Помогите написать На языке C++ ИЛИ C# написать программу шифрования и дешифрирования текстового файла 2 методами 1)Шифрование методом "исключающего или" 2) Шифрование и дешифрирование умножением на бинарные матрицы. Ключ 10101001 матрица А 10011101 11101101 11001111 подробнее

Показать сообщение отдельно
Xipxop
 Аватар для Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 150
22.02.2013, 16:00     функция возвращающая аргументу его значение сама по себе
Глупость, но не иначе не могу объяснить это явление.

гуляя по сайтам наткнулся на пузырьковую сортировку и увидел данный код:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void BubbleSort (int* a)
{
      int top = 8;
      while (top != 0)
      {
            for (int i = 0; i < top; i++)
            {
                  if (a[i] > a[i+1])
                  {
                    int temp;
                    temp = a[i];
                    a[i] = a[i+1];
                    a[i+1] = temp;
                  }
            }
            top--;
      }
}
 
int arr[9] = { 3, 7, 8, 6, 4, 1, 9, 5, 2};
BubbleSort(arr);
 
for (int i = 0; i < 9; i++)
{
    cout << arr[i] << ", ";
}


внимательно изучив его я заметил одну деталь и решил проверить и что удивительно сработало:
я тут немного изменил чтобы вы поняли суть...
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void bla(int* a)
{
     a[0]=11;
     a[1]=12;
}
 
main()
{
  int arr[2]={0,0};
  bla(arr);  
 
  cout<<arr[0]<<" "<<arr[1]; //на выходе получаем что arr[0]=11,а arr[1]=12  почему?
 
 return 0;
}



скомпилировав код можно понять, что переменные arr[0 и 1] станут 11 и 12, но только неизвестно почему?
И почему такой "метод" не работает с обычными переменными(не массивами)?


Вот кратко вопросы:

1) Почему и как это происходит?
2)Почему это работает только на массиве?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru