borvalmok432
?>

Дано двузначное число a. напишите программу определения: является ли сумма его цифр двузначным числом; превышает ли сумма его цифр число x, которое вводится дополнительно; кратна ли сумма его цифр 6; больше ли цифра десятков цифры единиц; входят ли в него цифры 4 или 7; оканчивается ли число цифрой 5. c++

Информатика

Ответы

Andrei Morozov

#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;

}

swetlanafatinia7323
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.
diana-kampoteks

Поэта по праву считают основоположником современного русского литературного языка, и это заслуженно. Стихи Пушкина, что 200 лет назад, что сейчас, понятны абсолютно всем и поражают своей красотой. Именно поэтому еще при жизни Александра Пушкина начали называть гением, что стало причиной своего рода культа вокруг его имени. Благодаря известным стихотворениям многие называли его поэтом-художником, другие – великим народным писателем.

Если вы относитесь к любителям произведений Александра Пушкина, или хотите снова почитать поэмы и стихи великого классика, то можете ознакомиться со списком его работ ниже.

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано двузначное число a. напишите программу определения: является ли сумма его цифр двузначным числом; превышает ли сумма его цифр число x, которое вводится дополнительно; кратна ли сумма его цифр 6; больше ли цифра десятков цифры единиц; входят ли в него цифры 4 или 7; оканчивается ли число цифрой 5. c++
Ваше имя (никнейм)*
Email*
Комментарий*