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

Реализовать процедуру таким образом, чтобы она возвращала 2 значения - C++

Восстановить пароль Регистрация
 
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:20     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #1
Всем привет!
Необходимо реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 11:20     Реализовать процедуру таким образом, чтобы она возвращала 2 значения
Посмотрите здесь:

В матрице M x N переставить строки таким образом, чтобы... C++
Дан вещественный массив А (n). Отсортировать его таким образом, чтобы C++
Преобразовать массив таким образом, чтобы элементы, равные нулю располагались после остальных. C++
В файл вставить пробелы таким образом, чтобы каждая строка имела длину 80 символов C++
C++ Как сделать так, чтобы функция rand() возвращала разные значения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LASpace
 Аватар для LASpace
34 / 34 / 3
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:24     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #2
Пусть возвращает структуру)
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:25  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #3
пример приведите пожалуйста как это сделать, я начинающий и не очень понимаю о чем вы говорите)
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
31.01.2013, 11:25     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #4
Цитата Сообщение от АлексИванов Посмотреть сообщение
реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.
В чистом виде невозможно. Но есть обходные пути.
C
1
 val1 = proc(&val2);
C
1
2
 typedef struct { double val1, val2; } TWOVAL;
TWOVAL t = proc();
LASpace
 Аватар для LASpace
34 / 34 / 3
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:28     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #5
Как то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct ST
{
    double X,Y;
};
 
ST MyFunc(double x,double y)
{
    ST MyST;
 
    MyST.X = x;
    MyST.Y = y;
 
    return MyST;
}
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:41  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #6
пробовал откомпилировать ваш код в борланд девелопер студио. выдает ошибки

[C++ Error] Unit1.cpp(26): E2108 Improper use of typedef 'ST'
[C++ Error] Unit1.cpp(26): E2379 Statement missing ;
dederkay
 Аватар для dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:42     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #7
а разве нельзя просто передавать ссылки на объекты?
вроде такого
C++
1
2
3
4
5
6
7
8
9
10
11
void myProc(int *a, int* b)
{
a = 4;
b = 5;
}
int main(void)
{
int Banana = 3;
int Madriva = 7;
myProc(&Banana, &Mandriva);
}
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:42  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #8
и не очень понятно, когда я буду пользоваться процедурой,как мне из неё достать значения?!
dederkay
 Аватар для dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:43     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #9
Цитата Сообщение от АлексИванов Посмотреть сообщение
возвращала
ведь в задании нигде не говориться о структуре?
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:44  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #10
в вашем примере бананы присвоятся значения, указанные в процедуре? то есть 4 и 5?

Добавлено через 38 секунд
Да, мне не важно каким способом это будет делаться)
dederkay
 Аватар для dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:46     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #11
сама процедура изменяет значения, ибо получает не копии объектов, а сами объекты и внутри процедуры изменяет их, по сему после выхода из процедуры значения буду изменены в соответствии с процедурой(те все что изменит процедура в себе(те Банану и Мандриву) после выхода из процедуры сохраниться).

Добавлено через 25 секунд
именно так!

Добавлено через 1 минуту
Цитата Сообщение от АлексИванов Посмотреть сообщение
то есть 4 и 5?
да будет 4 и 5
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:47  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #12
[C++ Error] Unit1.cpp(20): E2034 Cannot convert 'int' to 'int *'
[C++ Error] Unit1.cpp(21): E2034 Cannot convert 'int' to 'int *'
вот ошибки какие вылезли при компиляции...
dederkay
 Аватар для dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:48     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #13
только да я не розименовал указатели, внутри процедуры нужно писать
C++
1
2
3
4
5
6
7
8
9
10
11
12
void myProc(int *a, int* b)
{
    *a = 4;
    *b = 5;
}
int main(void)
{
    int Banana = 3;
    int Madriva = 7;
    myProc(&Banana, &Madriva);
    return 1;
}
вот короче рабочий пример
LASpace
 Аватар для LASpace
34 / 34 / 3
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:50     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #14
Цитата Сообщение от АлексИванов Посмотреть сообщение
пробовал откомпилировать ваш код в борланд девелопер студио. выдает ошибки

[C++ Error] Unit1.cpp(26): E2108 Improper use of typedef 'ST'
[C++ Error] Unit1.cpp(26): E2379 Statement missing ;
код с студию) всего файла
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:54  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 void myProc(int *a, int *b)
{
  *a = 4;
  *b = 5;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 int Banana = 3;
 int Mandriva = 7;
 myProc(&Banana, &Mandriva);
 
}
Так в итоге должно быть?)

Добавлено через 2 минуты
Всем спасибо, кажется я разобрался что к чему)
dederkay
 Аватар для dederkay
34 / 34 / 0
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:54     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #16
Цитата Сообщение от АлексИванов Посмотреть сообщение
Так в итоге должно быть?)
ну ваши переменные будут "жить" лишь внутри метода который вызывается по клику, я думаю вам нужно изменять кое какие другие переменные? Они не обязательно должны быть локальными.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 11:56     Реализовать процедуру таким образом, чтобы она возвращала 2 значения
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
АлексИванов
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:56  [ТС]     Реализовать процедуру таким образом, чтобы она возвращала 2 значения #17
Не ну это уже мелочи, главное стало понятно как чего делать)
Yandex
Объявления
31.01.2013, 11:56     Реализовать процедуру таким образом, чтобы она возвращала 2 значения
Ответ Создать тему
Опции темы

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