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

как вернуть (вывести) 4 значения - C++

Восстановить пароль Регистрация
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
12.02.2013, 02:35     как вернуть (вывести) 4 значения #1
подскажите пожалуйста, есть код, но что-то немогу разобраться с функцией, у меня она должна возвращать 4 значения (координат точек) а у меня что-то неполучается то ли вернуть то ли их вывести (возвращает/выводит только первое значения) помоги организовать и поповоду того что закоментировано ненадо нечего писать (нельзя же два вопроса в одной теме)
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
75
76
#include <iostream>
#include <functional>
#include <algorithm>
using namespace std;
int *pMas;
 
//int NumElemLessX (*pMas, int r, int x)
//{
//  int v=0;
//  for (int i=0;i<r;i++)
//  {
//      if (*(pMas+i)<x)
//          v++;
//  }
//  return v;
//}
 
float CoordSquare (float Ax, float Ay, float Cx, float Cy)
{
    float Dx, Dy, Bx, By;
    float Mx=(Cx+Ax)/2;
    float My=(Cy+Ay)/2;
    Dx=Mx-Ay+My;
    Dy=My+Ax-Mx;
    Bx=Mx+Ay-My;
    By=My-Ax+Mx;
    return Dx,Dy,Bx,By;
 
      
}
 
void main ()
{
    int b,r,x;
    float Ax,Ay,Cx,Cy;
    cout<< "Check '1' to determine the number of elements in the array than the specified value X \r\nCheck '2' to define two opposite given the other two vertices";
    while (1)
    {
        cout << "What is your check?";
        cin >> b;
        switch (b)
        {
        case 1:
//          cout <<"Enter the number of elements in the array:";
//          cin >> r;
//          int Mas[100];
//          for (int i=0;i<r;i++)
//              {
//                  Mas [i]= i;
//              }
//          pMas=Mas;
//          cout <<"Enter the value you want to find more items:";
//          cin >> x;
//          cout <<"The number of items than the specified value:" << NumElemLessX(*pMas,r,x);
            break;
        case 2:
            cout << "Enter the coordinates of Ax:";
            cin >> Ax;
            cout << "Enter the coordinates of Ay:";
            cin >> Ay;
            cout << "Enter the coordinates of Cx:";
            cin >> Cx;
            cout << "Enter the coordinates of Cy:";
            cin >> Cy;
            cout << "B("<< CoordSquare (Ax,Ay,Cx,Cy)<< CoordSquare (Ax,Ay,Cx,Cy)<<CoordSquare (Ax,Ay,Cx,Cy)<<CoordSquare (Ax,Ay,Cx,Cy)<<")";
            break;
        default :
            cout << "The check is wrong!";
            break;
        }
        if (b==1 || b==2)
            break;
    }
        scanf ("%i");
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 02:35     как вернуть (вывести) 4 значения
Посмотрите здесь:

C++ Как вернуть сразу 2 значения из функции?
Необходимо вернуть значение функции из Булевского значения и посчитать факториал C++
Как вернуть сразу 2 значения массива в функции? C++
C++ Как массово вывести значения всех элементов структуры?
Как вернуть из функции два значения C++
Как вывести значения элементов массива? C++
Можно ли вернуть функцией два значения при условии что она будет вещественного типа? C++
C++ Вернуть из функции 2 значения

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.02.2013, 02:42     как вернуть (вывести) 4 значения #2
Функция не может возвращать больше одного значения. Воспользуйтесь массивом или структурой.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
12.02.2013, 09:19     как вернуть (вывести) 4 значения #3
Можно передать значение по ссылке
C++
1
2
3
4
5
6
7
8
9
void CoordSquare (float Ax, float Ay, float Cx, float Cy,float &Dx, float &Dy, float &Bx, float &By)
{
    float Mx=(Cx+Ax)/2;
    float My=(Cy+Ay)/2;
    Dx=Mx-Ay+My;
    Dy=My+Ax-Mx;
    Bx=Mx+Ay-My;
    By=My-Ax+Mx;
 }
Тогда 65 строку Вашего кода можно записать так
C++
1
2
3
4
float X1,Y1,X2,Y2;
CoordSquare (Ax,Ay,Cx,Cy,X1,Y1,X2,Y2); 
cout << X1<<Y1<<X2<<Y2;
break;
Yandex
Объявления
12.02.2013, 09:19     как вернуть (вывести) 4 значения
Ответ Создать тему
Опции темы

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