Другие языки программирования и технологии
Помогите решить задачу на C++
Даны три различных числа. Большее заменить разностью меньшего и среднего, среднее полусуммой большего и меньшего. Меньшее увеличить вдвое.
Так? :)
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << " a = ";
double a;
cin >> a;
cout << " b = ";
double b;
cin >> b;
cout << " c = ";
double c;
cin >> c;
system("cls");
streamsize w = 6;
cout << endl;
cout << setw(w) << "a = " << a << endl
<< setw(w) << "b = " << b << endl
<< setw(w) << "c = " << c << endl << endl;
const size_t size = 3;
double arr[size] = { a, b, c };
double temp;
size_t m;
for (size_t n = 1; n < size; n++)
for (m = 0; m < size - n; m++)
if (arr[m] > arr[m + 1]) {
temp = arr[m];
arr[m] = arr[m + 1];
arr[m + 1] = temp;
}
double min = arr[0], mid = arr[1], max = arr[2];
arr[0] *= 2;
arr[1] = (min + max) / 2;
arr[2] = min - mid;
bool af = true, bf = true;
if (a == min) {
a = arr[0];
af = false;
} else if (b == min) {
b = arr[0];
bf = false;
} else c = arr[0];
if (af && a == mid) {
a = arr[1];
af = false;
} else if (bf && b == mid) {
b = arr[1];
bf = false;
} else c = arr[1];
if (af && a == max) a = arr[2];
else if (bf && b == max) b = arr[2];
else c = arr[2];
cout << setw(w) << "a = " << a << endl
<< setw(w) << "b = " << b << endl
<< setw(w) << "c = " << c << endl;
cin.get(); cin.get();
return 0;
}
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << " a = ";
double a;
cin >> a;
cout << " b = ";
double b;
cin >> b;
cout << " c = ";
double c;
cin >> c;
system("cls");
streamsize w = 6;
cout << endl;
cout << setw(w) << "a = " << a << endl
<< setw(w) << "b = " << b << endl
<< setw(w) << "c = " << c << endl << endl;
const size_t size = 3;
double arr[size] = { a, b, c };
double temp;
size_t m;
for (size_t n = 1; n < size; n++)
for (m = 0; m < size - n; m++)
if (arr[m] > arr[m + 1]) {
temp = arr[m];
arr[m] = arr[m + 1];
arr[m + 1] = temp;
}
double min = arr[0], mid = arr[1], max = arr[2];
arr[0] *= 2;
arr[1] = (min + max) / 2;
arr[2] = min - mid;
bool af = true, bf = true;
if (a == min) {
a = arr[0];
af = false;
} else if (b == min) {
b = arr[0];
bf = false;
} else c = arr[0];
if (af && a == mid) {
a = arr[1];
af = false;
} else if (bf && b == mid) {
b = arr[1];
bf = false;
} else c = arr[1];
if (af && a == max) a = arr[2];
else if (bf && b == max) b = arr[2];
else c = arr[2];
cout << setw(w) << "a = " << a << endl
<< setw(w) << "b = " << b << endl
<< setw(w) << "c = " << c << endl;
cin.get(); cin.get();
return 0;
}
И в чем сложность?
Не сказаны какие числа, вводить, нет, каким методом, применять что можно и тд.. .
Не сказаны какие числа, вводить, нет, каким методом, применять что можно и тд.. .
Забавно.. . Даже не программирование, а арифметика.. . Проблема в нежелании думать?
Похожие вопросы
- Помогите решить задачи на C#
- Помогите решить задачу (Visual c++)
- Помогите решить задачи по C++
- Помогите решить задачу на C или C++, пожалуйста.
- Помогите решить задачу по C++
- помогите решить задачу математически. C++
- Помогите решить задачу на C++. Двумерные массивы.
- помогите решить задачу на c++
- Помогите решить задачу по C#
- Помогите решить задачу c#