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

получение двух результатов из функции - C++

Восстановить пароль Регистрация
 
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
10.04.2012, 23:04     получение двух результатов из функции #1
нужно сделать ф-цию, которая будет возвращать периметр и площадь прямоугольника
процедура на паскале выглядит так:
Pascal
1
2
3
4
5
Procedure RectPS(x1, y1, x2, y2:real; var P, S:real);
begin
P:=(abs(x1-x2)+abs(y1-y2))*2;
S:=abs(x1-x2)*abs(y1-y2);
end;
пытался сделать, не работает(
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
double RectPS(int x1, int y1, int x2, int y2, int *S,int *P);
int main()
{
 int x1,y1,x2,y2,P,S;
 cout<<"Vvedite koordinati pervoy tochki\n";
 cin>>x1;
 cin>>y1;
 cout<<"Vvedite koordinati vtoroy tochki\n";
 cin>>x2;
 cin>>y2;
 S=0;
 P=0;
 if((x1!=x2)&&(y1!=y2))
  {
   RectPS(x1,y1,x2,y2,&S,&P);
   cout<<"\nPloschad' S= "<<S;
   cout<<"\nPerimetr P= "<<P;
  }
 else cout<<"\nNelzya postroit pryamougolnik";
 getch();
}
 
void RectPS(int x1, int y1, int x2, int y2, int *S,int *P)
{
 *S = abs(x1-x2) * abs(y1-y2);
 *P =(abs(x1-x2)+abs(y1-y2))*2;
}
помогите, плиз...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2012, 23:04     получение двух результатов из функции
Посмотрите здесь:

C++ Возвращение результатов функции в несколько переменных
Сравнение результатов двух математических выражений. C++
Получение прототипа функции имея ее адрес C++
Функции(опять передача результатов выполнения))) C++
Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.04.2012, 23:11     получение двух результатов из функции #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
25
26
27
28
29
30
31
32
33
#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
void RectPS(int x1, int y1, int x2, int y2, int *S,int *P);
int main()
{
 int x1,y1,x2,y2,P,S;
 cout<<"Vvedite koordinati pervoy tochki\n";
 cin>>x1;
 cin>>y1;
 cout<<"Vvedite koordinati vtoroy tochki\n";
 cin>>x2;
 cin>>y2;
 S=0;
 P=0;
 if((x1!=x2)&&(y1!=y2))
  {
   RectPS(x1,y1,x2,y2,&S,&P);
   cout<<"\nPloschad' S= "<<S;
   cout<<"\nPerimetr P= "<<P;
  }
 else cout<<"\nNelzya postroit pryamougolnik";
 cout<<endl;
 system("pause");
 return 0;
}
 
void RectPS(int x1, int y1, int x2, int y2, int *S,int *P)
{
 *S = abs(x1-x2) * abs(y1-y2);
 *P =(abs(x1-x2)+abs(y1-y2))*2;
}
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
10.04.2012, 23:21  [ТС]     получение двух результатов из функции #3
Спасибо...
если я правильно вижу то
C++
1
2
3
 cout<<endl;
 system("pause");
 return 0;
это все что ты добавил...
можешь сказать что в этом особенного? )
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.04.2012, 23:28     получение двух результатов из функции #4
Цитата Сообщение от BetoN Посмотреть сообщение
Спасибо...
если я правильно вижу то
C++
1
2
3
 cout<<endl;
 system("pause");
 return 0;
это все что ты добавил...
можешь сказать что в этом особенного? )
особенное не в этом, а:
1) функция у тебя войд, а объявил её как double
2) функции должны возвращать значения, поэтому в конце main надо делать return
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
10.04.2012, 23:32  [ТС]     получение двух результатов из функции #5
обенное не в этом, а:
1) функция у тебя войд, а объявил её как double

это я тоже потом заметил... сначало пытался сделать double...

2) функции должны возвращать значения, поэтому в конце main надо делать return

учту, еще раз спасибо)
Yandex
Объявления
10.04.2012, 23:32     получение двух результатов из функции
Ответ Создать тему
Опции темы

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