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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leonman
 Аватар для Leonman
15 / 15 / 0
Регистрация: 17.06.2012
Сообщений: 266
#1

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

27.01.2013, 02:27. Просмотров 305. Ответов 5
Метки нет (Все метки)

Нужно написать функцию, которая находила бы максимальный элемент массива.
Мой код:
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++ максимальный элемент массива
Функция: найти максимальный и минимальный элемент двумерного массива C++
C++ Максимальный элемент массива
максимальный элемент массива C++
Максимальный элемент массива C++
Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его максимальный элемент C++
максимальный элемент массива C++
Не найду ошибку (функция, которая ищет максимальный элемент, который встречается больше 1 раза) C++
Определить максимальный элемент массива и элемент, являющийся максимальным без учёта этого элемента C++
C++ Функция находящая максимальный элемент массива
Функция: вернуть максимальный элемент массива C++
C++ Функция возвращающая максимальный элемент массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Функция не работает (максимальный элемент массива)
Ответ Создать тему
Опции темы

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