Учусь писать читы =)
-
Автор темы
- #1
По советам Югейма начал изучать книжку "Программирование. Принципы и практика с использованием C++". (noad)
Встретил задание.
Не могу выполнить, хотя вроде всё правильно написал.
При компиляции и запуска программы, и введение значений некоторые способы попросту не отображает, а второе число вообще не хочет видеть.
До третьего значение не дошёл т.к. первое и второе неправильное.
Возможно я далбоёб, и есть простое решение.
Встретил задание.
"Напишите программу. предлагающую пользователю ввести три целых числа, а затем выводит их в порядке возрастания, разделяя запятыми. Например, если пользователь вводит числа 10 4 6. то программа должна вывести на экран числа 4, 6, 10. Если два числа совпадают. то они должны идти одно за другим. Например. если пользователь вводит числа 4 5 4, то программа должна вывести на экран 4, 4, 5."
C++:
#include "std_lib_facilities.h"
int main() {
setlocale(LC_ALL, "Russian");
int val1, val2, val3;
int first, second;
first = -99;
second = -100;
bool firstalready = false;
bool secondalready = false;
bool thirdalready = false;
cout << "Введите первое число: ";
cin >> val1;
cout << "\nВведите второе число: ";
cin >> val2;
cout << "\nВведите третье число: ";
cin >> val3;
cout << "\n";
if (val1 <= val2 && val1 <= val3) { // проверяем значение меньшее ли оно
first = val1; // запоминаем это число
firstalready = true; // Включаем boolean переменную, этим самым мы показываем что мы нашли первое меньшее число
val1 = 999999; // Выключаем чтобы не мешала
}
if (firstalready = false) { // Если предыдущее число не было меньшее - проверяем второе число
if (val2 <= val1 && val2 <= val3) {
first = val2;
firstalready = true;
val2 = 999999;
}
}
if (firstalready = false) { // Если предыдущее число не было меньшее - проверяем третие число
if (val3 <= val1 && val3 <= val2) {
first = val3;
firstalready = true;
val3 = 999999;
}
}
if (val1 <= val2 && val1 <= val3) {
second = val1;
secondalready = true;
val1 = 888888;
}
if (secondalready = false) {
if (val2 <= val1 && val2 <= val3) {
second = val2;
secondalready = true;
val2 = 88888;
}
}
if (secondalready = false) {
if (val3 <= val1 && val3 <= val2) {
second = val3;
secondalready = true;
val3 = 888888;
}
}
cout << first + " " + second;
keep_window_open();
return 0;
}
До третьего значение не дошёл т.к. первое и второе неправильное.
Возможно я далбоёб, и есть простое решение.