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

Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) - C++

Восстановить пароль Регистрация
 
kristina-lonsh
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 61
28.01.2013, 19:19     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) #1
Помогите решить или просто объясните - зачем надо использовать именно ссылку? почему нельзя использовать сразу саму переменную, а следует создать ссылку на нее.
Задача: Создать функцию, вычисляющую максимальный и минимальный элементы вектора. Продемонстрируйте ее работу на примере векторов Х(10), Н(15).
Примечание: Функция должна возвращать несколько значений, для этого использовать ссылки. В программе продемонстрировать вызов функции.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 19:19     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора)
Посмотрите здесь:

максимальный и минимальный элементы C++
Найти минимальный и максимальный элементы массива и упорядочить элементы по убыванию, стоящие между ними, методом «пузырька». C++
C++ Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию
Создать матрицу 7х7, найти максимальный и минимальный элементы, и поменять строки где они находятся C++
Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
28.01.2013, 19:55     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) #2
функция по определению возвращает одно значение
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
#include <iostream>
using namespace std;
 
void increment(int &a, int &b)
{
    //эта функция через ссылки
    a++;
    b++;
}
void increment(int *a, int *b)
{
    //а это не через ссылки
    (*a)++;
    (*b)++;
}
int main(void)
{
    int a=0,b=2;
    increment(&a,&b); //вызывается функция обычная
    cout<<a<<"\t"<<b<<endl;
    increment(a,b); //вызывается функция перегруженная(через ссылки реализованная)
    cout<<a<<"\t"<<b<<endl;
    system("pause");
}
но вот в этом примере, функция изменяет две передаваемых в качестве параметра переменных(их значения)
и такая же функция, но через ссылки
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.01.2013, 19:55     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) #3
Цитата Сообщение от kristina-lonsh Посмотреть сообщение
зачем надо использовать именно ссылку?
Для
Цитата Сообщение от kristina-lonsh Посмотреть сообщение
Функция должна возвращать несколько значений
Переменную передаваемую по ссылке как параметр ф-ции можно изменить.
kristina-lonsh
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 61
29.01.2013, 09:46  [ТС]     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) #4
Цитата Сообщение от Tiva Посмотреть сообщение
функция по определению возвращает одно значение
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
#include <iostream>
using namespace std;
 
void increment(int &a, int &b)
{
    //эта функция через ссылки
    a++;
    b++;
}
void increment(int *a, int *b)
{
    //а это не через ссылки
    (*a)++;
    (*b)++;
}
int main(void)
{
    int a=0,b=2;
    increment(&a,&b); //вызывается функция обычная
    cout<<a<<"\t"<<b<<endl;
    increment(a,b); //вызывается функция перегруженная(через ссылки реализованная)
    cout<<a<<"\t"<<b<<endl;
    system("pause");
}
но вот в этом примере, функция изменяет две передаваемых в качестве параметра переменных(их значения)
и такая же функция, но через ссылки
Вектор X(10) - это одномерный массив, я так полагаю. А как создать ссылку на одномерный массив?
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
29.01.2013, 15:51     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) #5
Цитата Сообщение от kristina-lonsh Посмотреть сообщение
А как создать ссылку на одномерный массив?
Не надо тебе массив по ссылке передавать, тебе надо передать min и max элементы по ссылке что бы их потом возвратить

C++
1
2
3
4
void min_max(int Array[],int ArraySize, int& Min, int& Max)
{
// код...
}
Yandex
Объявления
29.01.2013, 15:51     Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора)
Ответ Создать тему
Опции темы

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