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

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

Войти
Регистрация
Восстановить пароль
 
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
#1

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

10.04.2012, 23:04. Просмотров 587. Ответов 4
Метки нет (Все метки)

нужно сделать ф-цию, которая будет возвращать периметр и площадь прямоугольника
процедура на паскале выглядит так:
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;
}
помогите, плиз...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2012, 23:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос получение двух результатов из функции (C++):

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri - C++
Братаны, выручайте! Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в...

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin - C++
Братаны, выручайте!:help: Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в...

Сравнение результатов двух математических выражений. - C++
Напишите программу для расчета с двумя формулами. Сначала нужно подготовить тестовые примеры использования второго Формула рассчитывается...

Получить максимум из результатов вычисления двух выражений - C++
Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b).

Найти наименьшую сумму квадратов двух результатов измерений с интервалом в 5 элементов - C++
На вход программы подаются результаты измерений, выполняемых прибором с интервалом 1 минуту. Все данные – натуральные числа, не...

Возвращение результатов функции в несколько переменных - C++
Здраствуйте, можно ли как-то припомощи оператора return вернуть несколько значений? Если да, то как после вызова функции вернуть первой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
1
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
10.04.2012, 23:21  [ТС] #3
Спасибо...
если я правильно вижу то
C++
1
2
3
 cout<<endl;
 system("pause");
 return 0;
это все что ты добавил...
можешь сказать что в этом особенного? )
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
0
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
10.04.2012, 23:32  [ТС] #5
обенное не в этом, а:
1) функция у тебя войд, а объявил её как double

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

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

учту, еще раз спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2012, 23:32
Привет! Вот еще темы с ответами:

Функции(опять передача результатов выполнения))) - C++
Есть массив элементов. Нужно реализовать функцию удаления элемента по поиску текстового поля.... например есть такая последовательность:...

Табулирования функции и вывод результатов в таблице - C++
Составить программу вычисления функции с использованием оператора цикла с предусловием. Переменная х меняется с шагом h на заданном...

Выполнить вывод на экран результатов вычисления функции (C++) - C++
Только начал изучать C++ и не совсем понимаю как это сделать. Буду очень благодарен, если поможете!

Получение значения из функции - C++
Здравствуйте! Помогите понять что делаю не так. Очевидно неправильно возвращаю значение из функции, но как правильно реализовать не могу...


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

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

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