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

Функция не работает так, как нужно - C++

Восстановить пароль Регистрация
 
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
22.08.2012, 13:04     Функция не работает так, как нужно #1
Вот задание:
В заданном одномерном массиве поменять местами соседние элементы, стоящие на чётных местах, с элементами, стоящими на нечётных.
Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int change(int *arr, int size)
{
 for(int i = 0; i < sizeof(arr)/sizeof(int); i+=2)
 {
  int temp = arr[i];
  arr[i] = arr[i+1];
  arr[i+1] = temp;
 }
}
int main()
{
   int arr[] = {1,2,3,4,5,6,7,8,9,10};
   change(arr, sizeof(arr)/sizeof(int));
   for (int i = 0; i < sizeof(arr)/sizeof(int); ++i)
   cout << arr[i] << endl;  
system("PAUSE >> null");    
}
На выходе у меня меняется только первые два элемента, а остальные остаются как есть. Я только начал изучать функции.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2012, 13:04     Функция не работает так, как нужно
Посмотрите здесь:

C++ Цикл не работает так как надо
Не подключен файл, а работает, как так? C++
Почему функция работает именно так? C++
C++ Как сделать так, чтобы функция rand() возвращала разные значения
C++ rand() работает не так как нужно
C++ Код не работает так, как хотелось бы
Работает не так как надо(классы) C++
Как сделать так что бы функция возвращала строку C++
C++ Написала программу,но работает не так, как нужно. Что исправить?
Цикл ввода строкового массива работает не так, как нужно C++
C++ Пользовательская функция работает не так, как ожидается: найти причины странного поведения функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.08.2012, 13:07     Функция не работает так, как нужно #2
C++
1
2
3
4
5
6
7
8
9
int change(int *arr, int size)
{
 for(int i = 0; i < size; i+=2)
 {
  int temp = arr[i];
  arr[i] = arr[i+1];
  arr[i+1] = temp;
 }
}
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
22.08.2012, 13:09  [ТС]     Функция не работает так, как нужно #3
Thinker, Блин, такая ошибка нелепая. Спасибо большое.
Yandex
Объявления
22.08.2012, 13:09     Функция не работает так, как нужно
Ответ Создать тему
Опции темы

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