Які нові дані можуть бути отримані в результаті опрацювання даних про: в) відстань між двома населеними пунктами та швидкість руху потягу, що курсує між ними?
Алгоритм перевода прост (обычно используется нижеприведенный), если вас интересует как самому справляться с этим, то необходимо просто делить переводимое число на основание системы счисления (в данном случаи это 2 - основание системы счисления обычно скрыто в её названии - двоичная).
Результат - остатки от деления записанные в обратном порядке (см. картинку).
Заранее за отметку "лучший ответ" и нажатую кнопочку " ":
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int Accum (const vector<int>& v) { // сумма цифр числа
int sum = 0;
for (auto x : v) {
sum += x;
}
return sum;
}
vector<int> NumInNums (const int& number) { // разбираем число на цифры
vector<int> Nums = {};
int num = number;
while (num != 0) {
Nums.push_back(num % 10);
num /= 10;
}
reverse(begin(Nums), end(Nums));
return Nums;
}
void Funct_1 (const int& number_2, const vector<int> nums) {
int Accumul = Accum(nums);
if (Accumul >= 10) { // проверка суммы на двузначность
cout << "Two-digit number" << endl;
} else {
cout << "Not a two digit number" << endl;
}
if (Accumul > number_2) { // больше или меньше, чем х
cout << "Exceeds" << endl;
} else {
cout << "Not exceed" << endl;
}
if (Accumul % 6 == 0) { // кратность суммы цифр шести
cout << "Multiple 6" << endl;
} else {
cout << "Not multiple 6" << endl;
}
}
void Funct_2(const vector<int>& v) {
if (v[v.size() - 2] > v[v.size() - 1]) { // сравнение цифры десятков с цифрой единиц
cout << "The number of tens more digits units" << endl;
} else {
cout << "The number of units is greater than the number of tens" << endl;
}
bool F = false;
for (auto x : v) { // входит ли цифра 4 или 7 в число
if ((x == 4) or (x == 7)) {
F = true;
break;
}
}
if (F == true) {
cout << "4 or 7 enters" << endl;
} else {
cout << "4 or 7 is not included in the number" << endl;
}
if (v[v.size() - 1] == 5) { // оканчивается ли число цифрой 5
cout << "Ends with the number 5" << endl;
} else {
cout << "Not end in 5" << endl;
}
}
int main() {
int number_1, number_2;
vector<int> nums;
cout << "Number a: ";
cin >> number_1;
cout << "Number x: ";
cin >> number_2;
Funct_1(number_2, NumInNums(number_1));
Funct_2(NumInNums(number_1));
return 0;
}
Если вас интересует ответ, то вот:
12 = 1100
23 = 10111
45 = 101101
Алгоритм перевода прост (обычно используется нижеприведенный), если вас интересует как самому справляться с этим, то необходимо просто делить переводимое число на основание системы счисления (в данном случаи это 2 - основание системы счисления обычно скрыто в её названии - двоичная).
Результат - остатки от деления записанные в обратном порядке (см. картинку).
Заранее за отметку "лучший ответ" и нажатую кнопочку " ":
в этом ответев моем профиле