Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
1

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

31.01.2013, 11:20. Просмотров 1301. Ответов 16
Метки нет (Все метки)

Всем привет!
Необходимо реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2013, 11:20
Ответы с готовыми решениями:

Описать процедуру SortDec3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения
Ребят хелп, пробовал сам но сказали что все плохо. Описать процедуру SortDec3(A, B, C), меняющую...

Реализовать свойство Speed таким образом, чтобы при присвоении значения проверялся выход из диапазона
нужно реализовать свойство Speed таким образом чтобы при присвоении значения превышающего...

Модифицируйте программу таким образом, чтобы она выводила название чисел в диапазоне от 1 до 99
program TWELFTH; uses crt; var a,b,c,d,e:integer; begin write('Введите число от 1го...

Изменить программу таким образом, чтобы она работала с массивом вещественных чисел
Пытаюсь решить задачу, взятую из одного курса на MVA. Дан исходный код: static void...

16
34 / 34 / 7
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:24 2
Пусть возвращает структуру)
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:25  [ТС] 3
пример приведите пожалуйста как это сделать, я начинающий и не очень понимаю о чем вы говорите)
0
Эксперт C
24592 / 15206 / 3217
Регистрация: 24.12.2010
Сообщений: 32,640
31.01.2013, 11:25 4
Цитата Сообщение от АлексИванов Посмотреть сообщение
реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.
В чистом виде невозможно. Но есть обходные пути.
C
1
 val1 = proc(&val2);
C
1
2
 typedef struct { double val1, val2; } TWOVAL;
TWOVAL t = proc();
1
34 / 34 / 7
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:28 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;
}
1
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:41  [ТС] 6
пробовал откомпилировать ваш код в борланд девелопер студио. выдает ошибки

[C++ Error] Unit1.cpp(26): E2108 Improper use of typedef 'ST'
[C++ Error] Unit1.cpp(26): E2379 Statement missing ;
0
42 / 42 / 4
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:42 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);
}
1
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:42  [ТС] 8
и не очень понятно, когда я буду пользоваться процедурой,как мне из неё достать значения?!
0
42 / 42 / 4
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:43 9
Цитата Сообщение от АлексИванов Посмотреть сообщение
возвращала
ведь в задании нигде не говориться о структуре?
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:44  [ТС] 10
в вашем примере бананы присвоятся значения, указанные в процедуре? то есть 4 и 5?

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

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

Добавлено через 1 минуту
Цитата Сообщение от АлексИванов Посмотреть сообщение
то есть 4 и 5?
да будет 4 и 5
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:47  [ТС] 12
[C++ Error] Unit1.cpp(20): E2034 Cannot convert 'int' to 'int *'
[C++ Error] Unit1.cpp(21): E2034 Cannot convert 'int' to 'int *'
вот ошибки какие вылезли при компиляции...
0
42 / 42 / 4
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:48 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;
}
вот короче рабочий пример
0
34 / 34 / 7
Регистрация: 27.01.2013
Сообщений: 142
31.01.2013, 11:50 14
Цитата Сообщение от АлексИванов Посмотреть сообщение
пробовал откомпилировать ваш код в борланд девелопер студио. выдает ошибки

[C++ Error] Unit1.cpp(26): E2108 Improper use of typedef 'ST'
[C++ Error] Unit1.cpp(26): E2379 Statement missing ;
код с студию) всего файла
0
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:54  [ТС] 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 минуты
Всем спасибо, кажется я разобрался что к чему)
0
42 / 42 / 4
Регистрация: 08.12.2010
Сообщений: 161
31.01.2013, 11:54 16
Цитата Сообщение от АлексИванов Посмотреть сообщение
Так в итоге должно быть?)
ну ваши переменные будут "жить" лишь внутри метода который вызывается по клику, я думаю вам нужно изменять кое какие другие переменные? Они не обязательно должны быть локальными.
1
0 / 0 / 1
Регистрация: 08.11.2012
Сообщений: 72
31.01.2013, 11:56  [ТС] 17
Не ну это уже мелочи, главное стало понятно как чего делать)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2013, 11:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перегрузить операцию -- таким образом, чтобы она устанавливала значение «первая» в поле category
В задании написано, что нужно перегрузить операцию -- таким образом, чтобы она устанавливала...

Добавить к тексту в файле цифру 2 таким образом, чтобы она была в середине каждого слова
Записать в текстовый файл произвольный текст, который вводится с клавиатуры. Добавить к этому...

Заменить все контейнеры на ArrayList, и переписать программу таким образом, чтобы она успешно с ним работала
package ua.lviv.lgs; import java.time.Month; import java.util.Scanner; public class Task_2 {...

Написать программу, реализующую способ передачи книги таким образом, чтобы она переходя от друга к другу побывала в руках у каждого
Помогите вкурить в задание, кому не влом. Т.е. к примеру наше N = 100, значит у чела с...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

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