#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int enterNumber = 0;
cout << "Введите целое число (от 1 до 9999): ";
cin >> enterNumber;
// проверяем входит ли введенное число в заданный диапазон
if (enterNumber <= 0 ||enterNumber > 9999)
cout << "Число не входит в диапазон от 1 до 9999!\n";
else // если да - приступаем к выводу на экран
{
cout << "\nВы ввели: ";
// чтобы добраться до первой цифры в введенном числе
// (если оно четырехзначное), надо это число поделить
// на 1000 и взять от него остаток от деления на 10
// например 8 888 / 1000 = 8 (888 тысячные отбрасываются
// т.к. введенное число типа int), далее 8 % 10 = 8
// так же не ошибитесь с оператором == (равно)
if ((enterNumber / 1000) % 10 == 1) cout << "Одна тысяча ";
else if ((enterNumber / 1000) % 10 == 2) cout << "Две тысячи ";
else if ((enterNumber / 1000) % 10 == 3) cout << "Три тысячи ";
else if ((enterNumber / 1000) % 10 == 4) cout << "Четыре тысячи ";
else if ((enterNumber / 1000) % 10 == 5) cout << "Пять тысяч ";
else if ((enterNumber / 1000) % 10 == 6) cout << "Шесть тысяч ";
else if ((enterNumber / 1000) % 10 == 7) cout << "Семь тысяч ";
else if ((enterNumber / 1000) % 10 == 8) cout << "Восемь тысяч ";
else if ((enterNumber / 1000) % 10 == 9) cout << "Девять тысяч ";
if ((enterNumber / 100) % 10 == 1) cout << "сто ";
else if ((enterNumber / 100) % 10 == 2) cout << "двести ";
else if ((enterNumber / 100) % 10 == 3) cout << "триста ";
else if ((enterNumber / 100) % 10 == 4) cout << "четыреста ";
else if ((enterNumber / 100) % 10 == 5) cout << "пятьсот ";
else if ((enterNumber / 100) % 10 == 6) cout << "шестьсот ";
else if ((enterNumber / 100) % 10 == 7) cout << "семьсот ";
else if ((enterNumber / 100) % 10 == 8) cout << "восемьсот ";
else if ((enterNumber / 100) % 10 == 9) cout << "девятьсот ";
if ((enterNumber / 10) % 10 == 1)
{
if (enterNumber % 10 == 0) cout << "десять долларов";
else if (enterNumber % 10 == 1) cout << "одинадцать долларов";
else if (enterNumber % 10 == 2) cout << "двенадцать долларов";
else if (enterNumber % 10 == 3) cout << "тринадцать долларов";
else if (enterNumber % 10 == 4) cout << "четырнадцать долларов";
else if (enterNumber % 10 == 5) cout << "пятнадцать долларов";
else if (enterNumber % 10 == 6) cout << "шестнадцать долларов";
else if (enterNumber % 10 == 7) cout << "семнадцать долларов";
else if (enterNumber % 10 == 8) cout << "восемнадцать долларов";
else if (enterNumber % 10 == 9) cout << "девятнадцать долларов";
}
if ((enterNumber / 10) % 10 == 2) cout << "двадцать ";
else if ((enterNumber / 10) % 10 == 3) cout << "тридцать ";
else if ((enterNumber / 10) % 10 == 4) cout << "сорок ";
else if ((enterNumber / 10) % 10 == 5) cout << "пятьдесят ";
else if ((enterNumber / 10) % 10 == 6) cout << "шестьдесят ";
else if ((enterNumber / 10) % 10 == 7) cout << "семьдесят ";
else if ((enterNumber / 10) % 10 == 8) cout << "восемьдесят ";
else if ((enterNumber / 10) % 10 == 9) cout << "девяносто ";
if ((enterNumber / 10) % 10 != 1)
{
if (enterNumber % 10 == 0) cout << "долларов";
else if (enterNumber % 10 == 1) cout << "один доллар";
else if (enterNumber % 10 == 2) cout << "два доллара ";
else if (enterNumber % 10 == 3) cout << "три доллара ";
else if (enterNumber % 10 == 4) cout << "четыре доллара ";
else if (enterNumber % 10 == 5) cout << "пять долларов ";
else if (enterNumber % 10 == 6) cout << "шесть долларов ";
else if (enterNumber % 10 == 7) cout << "семь долларов ";
else if (enterNumber % 10 == 8) cout << "восемь долларов ";
else cout << "девять долларов ";
}
}
cout << endl << endl;
return 0;
}
да, цікаво. перше завдання особливо сподобалася
#include
using namespace std;
int main()
{
setlocale(0, "");
int a = 0;
int b = 0;
int z = 0;
int s = 0;
cout << "Проверим ваше знание таблицы умножения\n";
cin >> a;
cin >> b;
s = a*b;
cin >> z;
(s == z)?cout << "Ответ верен.\n":cout << "Ответ не верен. Правильный ответ :" << s << "\n";
}
коментарів не все знаки замінюються правильно.
#include
using namespace std;
int main()
{
int a, b, c, rez = 0;
cout<<a;
cout<<b;
cout<<rez;
c = a*b;
if(rez == c)
{
cout<<"Good!";
}
else cout<<"Ahahah, no! a*b="<<c;
return 0;
}
#include
using namespace std;
int main ()
{
setlocale(LC_ALL, "rus");
int a = 0;
int b = 0;
int s = 0;
int z = 0;
cout << "Проверим, как вы знаете таблицу умножения\n";
cout <> a;
cout <> b;
s = a*b;
cout <> z;
if (s==z) cout << "Ваш результат верен \n";
else cout << "Ваш результат неверен. Правильно - "<< s << "\n";
system ("pause");
return 0;
}
#include
using namespace std;
void main()
{
setlocale(0,"");
int a,b,c;
cout<<"Здравствуй, дорогой друг! Сейчас мы проверим твои знания таблицы умножения."<<endl<>a;
if(a9)
cout<<"Первый множитель не соответствует указанному диапозону(1-9)"<<endl;
else
{
cout<>b;
if(b9)
cout<<"Второй множитель не соответствует указанному диапозону(1-9)"<<endl;
else
{
cout<<"Теперь введи произведение этих множителей: "<>c;
if(a*b==c)
cout<<"Правильно!"<<endl;
else
{
cout<<"Неверно!"<<endl<<"Произведение "<<a<<" и "<<b<<" равно "<<a*b<<"."<<endl;
}
}
}
}
Можна пояснити навіщо в першому завданні ми використовуємо залишок від ділення?
На що він впливає?
Данило, не можу сказати що він на щось впливає. В даному прикладі саме залишок від ділення на 10 дає можливість з числа (например 3 456) “витягнути” необхідну цифру (розбити число на розряди). Припустимо треба з цілого чотиризначного числа 3 456 узяти другу. Для цього відразу ми його поділимо на 100: 3 456 / 100 = 34 (56 сотих відкидаються т.к. це число типу int). Далі беремо залишок від ділення на 10: 34 % 10 = 4.
Можливо тобі треба почитати ще трохи про арифметичні операції, щоб розібратися https://purecodecpp.com/archives/404
Спасибо)
а чим гірше без залишку від ділення? більше ресурсовитратності? зразок рядків приблизно однаково. Або я не в той степ думаю? спасибі заздалегідь за відповідь! завдання прикольна
#include
using namespace std;
int main()
{
setlocale(0, "");
int suma;
vvedenie:
cout <> suma;
int tysacha = suma / 1000;
int sotnya = (suma-tysacha*1000)/100;
int desyatki = (suma-tysacha*1000-sotnya*100)/10;
int edenici = suma - tysacha * 1000 - sotnya * 100 - desyatki * 10;
// пишем сотни
//пишем сотни
if (tysacha > 10)
{
cout << "введите сумму до 10 000 ";
goto vvedenie;
}
if (tysacha == 0)
{
cout << "";
}
if (tysacha == 1)
{
cout << "одна тысяча ";
}
if (tysacha == 2)
{
cout << "две тысячи ";
}
if (tysacha == 3)
{
cout << "три тысячи ";
}
if (tysacha == 4)
{
cout << "четыре тысячи ";
}
if (tysacha == 5)
{
cout << "пять тысяч ";
}
if (tysacha == 6)
{
cout << "шесть тысяч ";
}
if (tysacha == 7)
{
cout << "семь тысяч ";
}
if (tysacha == 8)
{
cout << "восемь тысяч ";
}
if (tysacha == 9)
{
cout << "девять тысяч ";
}
// пишем сотни
//пишем сотни
if (sotnya == 0)
{
cout << "";
}
if (sotnya == 1)
{
cout << "сто ";
}
if (sotnya == 2)
{
cout << "двесте ";
}
if (sotnya == 3)
{
cout << "тристо ";
}
if (sotnya == 4)
{
cout << "четыресто ";
}
if (sotnya == 5)
{
cout << "пятсот ";
}
if (sotnya == 6)
{
cout << "шестьсот ";
}
if (sotnya == 7)
{
cout << "семсот ";
}
if (sotnya == 8)
{
cout << "восемсот ";
}
if (sotnya == 9)
{
cout << "девятсот ";
}
// пишем десятки
//пишем десятки
if (desyatki == 0)
{
cout << "";
}
if (desyatki == 1)
{
if (edenici == 0)
{
cout << "десять гривен";
}
if (edenici == 1)
{
cout << "одинадцать гривен";
}
if (edenici == 2)
{
cout << "двенадцать гривен";
}
if (edenici == 3)
{
cout << "тринадцать гривен";
}
if (edenici == 4)
{
cout << "четырнадцать гривен";
}
if (edenici == 5)
{
cout << "пятнадцать гривен";
}
if (edenici == 6)
{
cout << "шестнадцать гривен";
}
if (edenici == 7)
{
cout << "семнадцать гривен";
}
if (edenici == 8)
{
cout << "восемнадцать гривен";
}
if (edenici == 9)
{
cout << "девятнадцать гривен";
}
goto kapec;
}
if (desyatki == 2)
{
cout << "двадцать ";
}
if (desyatki == 3)
{
cout << "тридцать ";
}
if (desyatki == 4)
{
cout << "сорок ";
}
if (desyatki == 5)
{
cout << "пятьдесят ";
}
if (desyatki == 6)
{
cout << "шестьдесят ";
}
if (desyatki == 7)
{
cout << "семдесят ";
}
if (desyatki == 8)
{
cout << "восемдесят ";
}
if (desyatki == 9)
{
cout << "девяносто ";
}
// пишем еденицы
//пишем еденицы
if (edenici == 0)
{
cout << " гривен";
}
if (edenici == 1)
{
cout << "одна гривна";
}
if (edenici == 2)
{
cout << "две гривны";
}
if (edenici == 3)
{
cout << "три гривны";
}
if (edenici == 4)
{
cout << "четыре гривны";
}
if (edenici == 5)
{
cout << "пять гривен";
}
if (edenici == 6)
{
cout << "шесть гривен";
}
if (edenici == 7)
{
cout << "семь гривен";
}
if (edenici == 8)
{
cout << "восемь гривен";
}
if (edenici == 9)
{
cout << "девять гривен";
}
kapec:
cout << '\n';
system("pause");
return 0;
}
для такого простого завдання абсолютно не принципово з залишком від ділення або без. Всі арифметичні операції компілятор обробляє дуже швидко
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int a= 0;
int b= 0;
int c= 0;
int Proizvedenie= 0;
cout <<"\nПроверим знание таблицы умножения\n";
cout << a ;
cout << b;
cout << Proizvedenie;
c = a*b;
if (c == Proizvedenie)
cout << "Ответ верен";
else
cout << "Ответ НЕверен";
return 0;
}
Ось мій варіант за завданням з пальцями:
#include
#include
int main()
{
int NumberFinger;
std::string BigFin="Большой палец."; //большой палец
std::string PointFin="Указательный палец."; //указательный палец
std::string AverageFin="Средний палец."; //средний палец
std::string NamelessFin="Безымянный палец."; //Безымянный палец
std::string PinkyFin="Мезинец."; //Мезинец
std::string bug="НЕКОРРЕКТНО ВВЕДЕНЫ ДАННЫЕ!!!"; //на случай неверного ввода со стороны пользователя
int Hand; //левая и правая рука
// Выбираем левую руку через 2, правую через 1
std::cout<>Hand;
std::cout<<'\n';
if (Hand==1)
{
std::cout<<"Правая рука: "<<'\n';
std::cout<>NumberFinger;
std::cout<<'\n';
switch(NumberFinger)
{
case 1: std::cout<<BigFin<<'\n'; break;
case 2: std::cout<<PointFin<<'\n';break;
case 3: std::cout<<AverageFin<<'\n';break;
case 4: std::cout<<NamelessFin<<'\n';break;
case 5: std::cout<<PinkyFin<<'\n';break;
default : std::cout<<bug<<'\n';break;
}
}
else if(Hand==2)
{
std::cout<<"Левая рука: "<<'\n';
std::cout<>NumberFinger;
std::cout<<'\n';
switch(NumberFinger)
{
case 1: std::cout<<BigFin<<'\n'; break;
case 2: std::cout<<PointFin<<'\n';break;
case 3: std::cout<<AverageFin<<'\n';break;
case 4: std::cout<<NamelessFin<<'\n';break;
case 5: std::cout<<PinkyFin<<'\n';break;
default : std::cout<<bug<<'\n';break;
}
}
else {
std::cout<<bug<<'\n';
}
}
вітання! трохи змінив умови 1 завдання оскільки мій dev c ++ не дружить з російською. ось такий вийшов “англійська” варіант))
#include
#include
#include
using namespace std;
void f_convers_1(char *newName, int num); // для перевода тысяч, сотен и единиц
void f_convers_2(char *newName, int num); // для перевода десятков
void f_convers_3(char *newName, int num); // для перевода 11-19
int main(){
int amount; // сума выдачи в банкомате
int thtu[4]={0,0,0,0}; // масив с поразрядными значениями
char thousands[30], hundreds[20], tens[20], units[10]; // строки для вывода на экран
cout <>amount;
for(int i=3; i>=0; i--) { // размещаем поразрядные значения суммы
thtu[i]=(amount%10); // в виде элементов массива thtu
amount/=10;
}
// передаем значение "тысячи" и указатель на
// масив thousands функции f_convers_1
if(thtu[0] != 0) {
f_convers_1(thousands, thtu[0]);
strcat(thousands, " thousand "); // к результату прибавляем thousand
}else strcpy (thousands, "");
// передаем значение "сотни" и указатель на
// масив hundreds функции f_convers_1
if(thtu[1] != 0) {
f_convers_1(hundreds, thtu[1]);
strcat(hundreds, " hundred "); // к результату прибавляем hundreds
}else strcpy (hundreds, "");
// передаем значение "десятка" и указатель на
// масив tens функции f_convers_2
if(thtu[2] != 0 && thtu[2] != 1) {
f_convers_2(tens, thtu[2]);
}
else if(thtu[2] == 1) { // если десятичн. зн-е находится в диапазоне
f_convers_3(tens, thtu[3]); // 10-19, передаем его функции
thtu[3]=0; // f_convers_3, при єтом обнуляем
} // последний елемент масива thtu
else strcpy (tens, "");
// передаем значение "единицы" и указатель на
if(thtu[3] != 0) { // масив units функции f_convers_1
f_convers_1(units, thtu[3]);
}else strcpy (units, "");
cout <<"You enter:\n\n"; // выводим результат на экран
cout <<thousands <<hundreds <<tens <<' ' <<units <<" dollars.\n\n\n";
system("pause");
return 0;
}
void f_convers_1(char *newName, int num) {
if(num == 1) strcpy(newName, "one");
else if(num == 2) strcpy(newName, "two");
else if(num == 3) strcpy(newName, "three");
else if(num == 4) strcpy(newName, "four");
else if(num == 5) strcpy(newName, "five");
else if(num == 6) strcpy(newName, "six");
else if(num == 7) strcpy(newName, "seven");
else if(num == 8) strcpy(newName, "eight");
else strcpy(newName, "nine");
}
void f_convers_2(char *newName, int num) {
if(num == 2) strcpy(newName, "twenty");
else if(num == 3) strcpy(newName, "thirty");
else if(num == 4) strcpy(newName, "forty");
else if(num == 5) strcpy(newName, "fifty");
else if(num == 6) strcpy(newName, "sixty");
else if(num == 7) strcpy(newName, "seventy");
else if(num == 8) strcpy(newName, "eighty");
else strcpy(newName, "ninety");
}
void f_convers_3(char *newName, int num) {
if(num == 0) strcpy(newName, "ten");
else if(num == 1) strcpy(newName, "elewen");
else if(num == 2) strcpy(newName, "twelve");
else if(num == 3) strcpy(newName, "thirteen");
else if(num == 4) strcpy(newName, "fourteen");
else if(num == 5) strcpy(newName, "fifteen");
else if(num == 6) strcpy(newName, "sixteen");
else if(num == 7) strcpy(newName, "seventeen");
else if(num == 8) strcpy(newName, "eighteen");
else strcpy(newName, "nineteen");
}
вітання! чудесно :) молодець!