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

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

Войти
Регистрация
Восстановить пароль
 
kristina-lonsh
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 61
#1

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

28.01.2013, 19:19. Просмотров 567. Ответов 4
Метки нет (Все метки)

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

Напишите функции, которые возвращают ссылки на максимальный и минимальный элементы массива - C++
Напишите функции, которые возвращают ссылки на максимальный и минимальный элементы массива. Используйте их для обмена значениями...

Поменять местами минимальный и максимальный элементы вектора - C++
ребят как написать код, чтобы в векторе V менялись местами минимальный и максимальный элементы

Создать и перегрузить функцию, вычисляющую максимальный элемент - C++
Создать и перегрузите функцию, вычисляющую максимальный элемент двух и трех чисел. Числа вводить с экрана. Проверить на различных наборах...

Реализовать функцию, выводящую на экран максимальный и минимальный элементы двумерного массива - C++
#include <iostream> #include <conio.h> using namespace std; int MaxandMin(int **A, int n, int m); int main() { int n;...

Создать функцию, меняющую местами максимальный и минимальный элемент одномерного массива - C++
создать функцию которая поменяет местами максимальный и минимальный элемент одномерного массива, и снова вывести массив на экран. Ввод...

Найти минимальный и максимальный элементы (неожиданное поведение программы: массив не передаётся в функцию) - C++
Ребята,помогите,пожалуйста,разобраться с функциями. Программа не хочет передавать значение массива в функцию(17 строчка). Нужно создать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
Эксперт С++
7151 / 5328 / 277
Регистрация: 10.12.2010
Сообщений: 23,579
Записей в блоге: 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
Эксперт С++
7151 / 5328 / 277
Регистрация: 10.12.2010
Сообщений: 23,579
Записей в блоге: 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)
{
// код...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2013, 15:51
Привет! Вот еще темы с ответами:

Создать список из целых чисел, найти в нем максимальный и минимальный элементы и их индексы - C++
Ребята, помогите написать код Задание: Создать список(стек) целых чисел и найти в нем максимальный и минимальный элемент и номера их...

Создать матрицу 7х7, найти максимальный и минимальный элементы, и поменять строки где они находятся - C++
Нужно создать масив 7 на 7 найти максимальный и минимальный елемент и поменять строки где находятся эти елементы Вот собственно написал,...

Создать массив, выводим сумму всех нечетных/четных элементов, найти минимальный и максимальный элементы - C++
Добрый вечер, не могу решить 2 задачи. Первая задача: Создаем массив на 10 элементов, потом заполняем этот массив случайными числа до...

Удалить из массива, в котором все элементы различны, максимальный и минимальный элементы - C++
Удалить из массива, в котором все элементы различны: а) максимальный элемент б) минимальный элемент Добавлено через 4 минуты ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.01.2013, 15:51
Ответ Создать тему
Опции темы

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