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

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

Войти
Регистрация
Восстановить пароль
 
Headmaster
1 / 1 / 1
Регистрация: 08.05.2013
Сообщений: 95
#1

Вызов функции, которая возвращает 2 параметра - C++

14.05.2013, 20:16. Просмотров 560. Ответов 9
Метки нет (Все метки)

Видимо я что-то принципиально не понимаю, что же тут не так

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <string>
#include <iostream>
#include <string>
#include <math.h>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
class Matrix
{
    int **mass;
    int n;
public:
    Matrix();
    ~Matrix();
    int maxmin(int &, int &);
    void show();
};
int Matrix::maxmin(int &max,int &min) //нахождение макс и мин элемента
{
    int a;
    cout<<"Vvedite stolbec:"<<endl;
    cin>>a;
    a=a-1;
    max = mass[0][a];
    min = mass[0][a];
    for(int i = 0; i < n; i++)
    {
            if(max < mass[i][a])
            {
                max = mass[i][a];
            }
            if (min > mass[i][a])
            {
                min = mass[i][a];
            }
    }
    return max, min;
}
Matrix::Matrix()
{
    cout<<"Vvedite razmernost:"<<endl;
    cin>>n;
    mass=new int*[n];
    cout<<"Vvedite matricu:"<<endl;
    for(int i=0;i<n;i++)
    {
        mass[i]=new int[n];
        for(int j=0;j<n;j++)
            cin >> mass[i][j];
    }
}
Matrix::~Matrix()
{
    for (int i=0; i<n; i++)
        delete []mass[i];
    delete []mass;
}
void Matrix::show()
{
    cout<<"Matrica"<<endl;
        for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
            cout<<mass[i][j]<<" "<<endl;
    }
    cout<<"Max i min elementi vibrannogo stolbca:"<<maxmin(max &, min &)<<endl;
}
void main()
{
    Matrix A=*new Matrix();
    A.show();
}
Ругается на эту строчку, error C2059: синтаксическая ошибка: ,

C++
1
    cout<<"Max i min elementi vibrannogo stolbca:"<<maxmin(max &, min &)<<endl;
Называл вроде все понятно, надеюсь комментарии к коду особо не нужны. Если разбивать на 2 метода (нахождение максимального и минимального элемента), то следующая часть задания не выйдет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2013, 20:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов функции, которая возвращает 2 параметра (C++):

Функция, которая получает два параметра и возвращает результат деления первого параметра на второй - C++
Тут такая задача: написать функцию, которая получает два параметра тип unsigned short int и возвращает результат деления первого параметра...

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

Разработать функцию, которая возвращает остаток от деления первого параметра на второй - C++
Нужно разработать функцию типа int, которая возвращает остаток от деления первого параметра на второй. Заранее большое спасибо за...

Вызов функции с ссылкой на структуру в качестве параметра - C++
Добрый день, совсем недавно начал изучение С++. Создал я небольшую программку, и сложился соответственно вопрос. Есть такой код: ...

Написать функцию, которая в зависимости от значения первого параметра возвращает количество отрицательных или положительных чисел призвольного массива - C++
Написать функцию, которая в зависимости от значения первого параметра (символ + или – ) возвращает количество отрицательных или...

Функцию, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления str2 в str1 - C++
Напишите функцию rightposition, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления...

9
Croessmah
Эксперт CЭксперт С++
13419 / 7573 / 855
Регистрация: 27.09.2012
Сообщений: 18,646
Записей в блоге: 3
Завершенные тесты: 1
14.05.2013, 20:19 #2
1. Функции возвращают только один параметр:
C++
1
return max, min;
равносильно
C++
1
2
max;
return min;
Добавлено через 18 секунд
2. Это что за синтаксис?
C++
1
maxmin(max &, min &)
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
14.05.2013, 20:19 #3
Функция не может возвращать более одного параметра. Пишите две отдельные функции.
0
stima
485 / 337 / 38
Регистрация: 22.03.2011
Сообщений: 1,079
Завершенные тесты: 2
14.05.2013, 20:21 #4
C++
1
2
3
int max, min;
maxmin(max, min);
cout << "Max i min elementi vibrannogo stolbca:" << max << " " << min <<endl;
Добавлено через 1 минуту
C++
1
void maxmin(int &, int &);
0
Стрелок
42 / 42 / 7
Регистрация: 29.02.2012
Сообщений: 73
14.05.2013, 20:26 #5
объявляя таким образом:
C++
1
int Matrix::maxmin(int &max,int &min)
вы уже можете тупо присвоить значение max и min и в теле программы просто передать значения
C++
1
2
3
4
5
6
7
int main()
{
     int max, min;
     Matrix A=*new Matrix();
     A.maxmin(max, min);
     cout << max << min << endl;
}
и
C++
1
int Matrix::maxmin(int &max,int &min)
заменить на
C++
1
void Matrix::maxmin(int &max,int &min)
или просто return 0; поставить
1
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
14.05.2013, 20:26 #6
можно возврат сделать std:: pair. Чтобы вернуть два параметра.
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.05.2013, 20:46 #7
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
25
26
#include <iostream>
 
template <typename Iterator>
std::pair <int, int> userMinMax(Iterator firstInputIterator, Iterator lastInputIterator)
{
    int minimal(*firstInputIterator);
    int maximal(*firstInputIterator);
    for (Iterator iter = firstInputIterator; iter != lastInputIterator; ++iter) {
        minimal = minimal > *iter ? *iter : minimal;
        maximal = maximal < *iter ? *iter : maximal;
    }
    std::pair <int, int> result(minimal, maximal);
 
    return result;
}
 
int main()
{
    const std::size_t arraySize(10);
    int array[arraySize] = {10, 4, 53, 34, 65, 43, 32, 23, 68, 64};
 
    auto minmax(userMinMax(array, array + arraySize));
    std::cout << minmax.first << " " << minmax.second << std::endl;
 
    return 0;
}
2
Headmaster
1 / 1 / 1
Регистрация: 08.05.2013
Сообщений: 95
14.05.2013, 21:19  [ТС] #8
не очень понял некоторые ответы, отвечу те по которым более менее ясно

Цитата Сообщение от Стрелок Посмотреть сообщение
A.maxmin(max, min);
сделал так как вы сказали, ругается на вызов этой строчки


Цитата Сообщение от Ev[G
eN;4556548]Код C++
видимо вы шаблон взяли из какой-то своей бывшей программы. Сложно мне сейчас под свою переделать, то-ли устал, то-ли знаний не хватает. Обязательно потом проверю, спасибо

Цитата Сообщение от SeregaC++ Посмотреть сообщение
std:: pair
не знаю как с std:: pair правильно работать, но постараюсь в инете найти. Спасибо
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.05.2013, 21:32 #9
Цитата Сообщение от Headmaster Посмотреть сообщение
не знаю как с std:: pair правильно работать, но постараюсь в инете найти. Спасибо
я же сделал как пример. ну, может и непонятно, конечно
Цитата Сообщение от Ev[G
eN;4556548]
C++
1
2
std::pair <int, int> result(minimal, maximal);
return result;
Цитата Сообщение от Ev[G
eN;4556548]
C++
1
2
auto minmax(userMinMax(array, array + arraySize));
std::cout << minmax.first << " " << minmax.second << std::endl;
1
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.05.2013, 22:20 #10
Headmaster, чтобы понять код предоставленный ув.
Ev[G]eN, также необходимо обратиться к документации по стандарту с++11
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 22:20
Привет! Вот еще темы с ответами:

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int - C++
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите перегруженную функцию power (), ...

Правило использования функции, которая возвращает массив - C++
Необходимо задать функцию которая возвращает массив. Вот пример программы которую я написал: const int N=100; const double A0=1,...

Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра - C++
Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра при помощи операции проверки равенства (==) и...

Написать функцию, которая сортирует массив по возрастанию или по убыванию, в зависимости от третьего параметра функции. - C++
Доброго времени суток! У меня возникла некоторая проблема в написании кода для задания: Дан массив чисел размерностью 10 элементов....


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

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

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