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

Функция не работает (максимальный элемент массива) - C++

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

C++ Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
C++ Заменить максимальный элемент массива средним арифметическим положительных элементов массива
C++ Найти максимальный элемент массива и вывести последний четный элемент
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
C++ найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.01.2013, 02:35     Функция не работает (максимальный элемент массива) #2
C++
1
int max_find(int *arr, int size, int& max)
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
27.01.2013, 02:43  [ТС]     Функция не работает (максимальный элемент массива) #3
BumerangSP, Спасибо.
Не могли бы сказать, что делает & (порядковое и, если я не ошибаюсь)
JOKFEN
 Аватар для JOKFEN
6 / 5 / 1
Регистрация: 11.12.2012
Сообщений: 39
27.01.2013, 02:49     Функция не работает (максимальный элемент массива) #4
Цитата Сообщение от Leonman Посмотреть сообщение
BumerangSP, Спасибо.
Не могли бы сказать, что делает & (порядковое и, если я не ошибаюсь)
&& логическое И
|| логическое ИЛИ
& адрес указателя
* указатель
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
27.01.2013, 02:55     Функция не работает (максимальный элемент массива) #5
Leonman, просто в Вашем случае в функцию передается копия переменной max, в функции она модифицируется (таки находит максимальный элемент), но при выходе из функции эта копия уничтожается. Если поставим & между типом и названием, то получается, что передается уже не копия, а адрес в памяти, поэтому модифицируется уже значение самой переменной, а не ее копии.
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
27.01.2013, 03:03  [ТС]     Функция не работает (максимальный элемент массива) #6
BumerangSP, Спасибо, теперь понял
Yandex
Объявления
27.01.2013, 03:03     Функция не работает (максимальный элемент массива)
Ответ Создать тему
Опции темы

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