Есть ответ 👍

Определить сумму чисел ,не превосходящих заданного числа n ,содержащих только нечетные цифры ,

105
155
Посмотреть ответы 2

Ответы на вопрос:


#include < iostream> #include < ctime> //нужно для генерации n - значных чисел using namespace std;   int getrandval(int n); //функция генерирует случайное n-ое число //функция вернёт массив цифр составляющих число val //переменная n будет содержать число цифр в массиве //флаг bgetarray определяет записывать ли разряды в //массив или лишь ограничиться подсчётом разрядов числа int * splitvalue(int val, int & n, bool bgetarray); //функция проверяет состоит ли число только из нечётных чисел bool isvalueconsistonlynooddnumbers(int val);   int main() {     int i;     int m; //будет содержать число чисел для анализа     int n; //будет содержать число разрядов для чисел     int sum; //будет содержать сумму чисел     int cnt; //будет содержать кол-во n-значных чисел     //состоящих только из нечётных значений     int *arr = null; //указатель на массив с n-значн числами     while(true)     {         system("cls");         cout< < "enter number values in array : "; cin> > m;         cout< < "enter n digits in values     : "; cin> > n;         arr = new int[m];         cout< < "generated array of values\n";         for(i = 0; i < m; i++)             cout< < (arr[i] = getrandval(n))< < endl;         cout< < "values in array with only odd numbers\n";         for(sum = (cnt = (i = 0)); i < m; i++)         {             if(isvalueconsistonlynooddnumbers(arr[i]))             {                 cout< < arr[i]< < endl;                 sum = sum + arr[i];                 cnt = cnt + 1;             }         }         delete [] arr;         if(! cnt)             cout< < "array not contain values which consist"                 < < " only from no-odd numbers\n";         else         {             cout< < "sum of values which consist"                 < < " only from no-odd numbers is "                 < < sum< < endl;             //разбиваем значение суммы на разряды             arr = splitvalue(sum, n, true);             for(cnt = (i = 0); i < n; i++)             {                 if(! isvalueconsistonlynooddnumbers(arr[i]))                     cnt = cnt + 1;             }             cout< < "given sum contains from "< < cnt< < " odditive numbers\n";             delete [] arr;         }         system("pause");     }     return 0; }   int getrandval(int n) {     int val = 0;     int ndigits = 0;     //будем продолжать генерацию     //пока не сгенерируем случ     //n-значное число     while(ndigits ! = n)         splitvalue((val = rand()%rand_max), ndigits, false);     return val; }   int * splitvalue(int val, int & n, bool bgetarray) {     int * arr = null; //указатель на массив с числа val     if(val < 0)         val *= -1; //знак числа нам не нужен     //подсчитываем число разрядов в числе     int i, buf = val;     for(n = 0; 0 < buf; n++)         buf = buf / 10;     //выделяем память под массив чисел     if(bgetarray)     {         arr = new int[n];         for(i = 0; 0 < val; i++)         {             //записываем в массив цифры разрядов числа             arr[i] = val % 10;             val     = val / 10;         }     }     return arr; }   bool isvalueconsistonlynooddnumbers(int val) {     bool bret = true;     int ndigits = 0;     int * array = splitvalue(val,ndigits,true);     for(int i = 0; i < ndigits & & bret; i++)     {         if(array[i]%2 == 0)             bret = false;     }     delete [] array;     return bret; }

№1-2 var x, t, f, l, sum, sum2: integer; begin write('введите x: '); readln(x); if ( x < 10000 ) or ( x > 99999 ) then writeln('ошибка. число не пятизначное! ') else begin l : = x mod 10; t : = (x div 1000 mod 10); sum : = l + t; f : = (x div 10 mod 10); sum2 : = t + f; writeln('сумма второй и последней цифры: ', sum); writeln('сумма второй и четвертой цифры: ', sum2); end; end.№3var a, b, c, rez: integer; beginwrite('введите первое число: '); readln(a); write('введите второе число: '); readln(b); write('введите третье число: '); readln(c); rez : = 0; if a mod 2 = 0 then inc(rez); if b mod 2 = 0 then inc(rez); if c mod 2 = 0 then inc(rez); writeln('количество четных чисел: ', rez); end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS