Как сделать чтобы три значения возвращались одновременно
#include <iostream>
#include <conio.h>
int fib(int n)
{
switch (n)
{
case 0:
return 1;
case 1:
return 1;
default:
return fib(n - 2) + fib(n - 1);
return fib(n - 1) + fib(n);
return fib(n) + fib(n + 1);
}
}
int main()
{
int n;
std::cin >> n;
std::cout << fib(n - 1) << " ";
std::cout << fib(n) << " ";
std::cout << fib(n + 1);
return fib(n + 1); return fib(n); return fib(n - 1);
std::cin.clear();
std::cin.ignore();
std::cin.get();
}
C/C++
Сделать чтобы программа возвращала сразу три значения.
Причём тут программа? Куда и что она должна возращать? Что это за бред? А чтобы функция возвращала три значения, то это по всякому можно сделать. Например, так:
struct three { long long a, b, c; };
three f(long n) { three x; x.a = x.b = x.c = n;
x.b *= n; x.c *= x.b; return x; }
Так функция f с четырёхбайтным целым аргументом n вернёт три числа n, n² и n³ восьмибайтного целого типа одним оператором return. Или просто значения трёх чисел можно записать в глобальные переменные a, b, c, но тогда их и из функции возвращать не нужно, так как всегда из любой части программы ими можно будет воспользоваться по своему усмотрению...
struct three { long long a, b, c; };
three f(long n) { three x; x.a = x.b = x.c = n;
x.b *= n; x.c *= x.b; return x; }
Так функция f с четырёхбайтным целым аргументом n вернёт три числа n, n² и n³ восьмибайтного целого типа одним оператором return. Или просто значения трёх чисел можно записать в глобальные переменные a, b, c, но тогда их и из функции возвращать не нужно, так как всегда из любой части программы ими можно будет воспользоваться по своему усмотрению...
из 3х return в функции срабатывать будет только первый.
return в мэйне - закрывает программу. Уберите его.
вывод делается так:
std::cout << "fib(n - 1) = " << fib(n-1) << std::endl;
std::cout << "fib(n) = " << fib(n) << std::endl;
std::cout << "fib(n + 1) = " << fib(n+1) << std::endl;
return в мэйне - закрывает программу. Уберите его.
вывод делается так:
std::cout << "fib(n - 1) = " << fib(n-1) << std::endl;
std::cout << "fib(n) = " << fib(n) << std::endl;
std::cout << "fib(n + 1) = " << fib(n+1) << std::endl;
Для того чтобы вернуть несколько значений из функции, нужно объявить необходимые параметры с модификаторами out. Например.
class SomeClass
{
public int getManyData(out object outData1, out object outData2) {
// Код функции
outData1 = someValue1; // Необходимо инициализировать выходной параметр
outData2 = someValue2; // Необходимо инициализировать выходной параметр
return result;
}
}
class SomeClass
{
public int getManyData(out object outData1, out object outData2) {
// Код функции
outData1 = someValue1; // Необходимо инициализировать выходной параметр
outData2 = someValue2; // Необходимо инициализировать выходной параметр
return result;
}
}
1) Сделать структуру/класс с 3мя полями, заполнять их и возвращать эту структуру
2) Предать в функцию ссылки/указатели на дополнительно возвращаемые данные и заполнять их
2) Предать в функцию ссылки/указатели на дополнительно возвращаемые данные и заполнять их
Похожие вопросы
- Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде
- Написать программу, возвращающую значение N, если N - простое число
- Радиоэлектроинка. Существует ли такая деталь возвращающая значение avr...
- Чему равно значение переменной, если ей присвоено значение, возвращенное функцией, которая ничего не возвращает? (+)
- Язык Си Составить ГСА и программу расчета значения R
- Программа на C++ с переводом Char в Int и наоборот при переводе возвращает НИЧЕГО
- Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области. Написать программу на языке C++
- С++, Сделайте класс Triangle наследником класса Figure. Напишите программу, в которой будет считываться ..
- Составить программу для вычисления значения выражения. C++
- C++ слишком много значений инициализатора.