М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
llllsaaaaaa
llllsaaaaaa
21.02.2022 22:24 •  Информатика

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

👇
Ответ:
Огнены
Огнены
21.02.2022
#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 (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((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(!(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 (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; }
4,4(39 оценок)
Открыть все ответы
Ответ:
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (a,b):=ReadReal2('Укажите длины сторон прямоугольника:');
  Writeln('Площадь=',a*b,', периметр=',2*(a+b),
      ', диагональ=',Sqrt(a*a+b*b):0:5)
end.

Пример
Укажите длины сторон прямоугольника: 13.6 8.4
Площадь=114.24, периметр=44, диагональ=15.98499

begin
  var (a,b):=ReadReal2('Введите a и b:');
  Writeln('a+b=',a+b,', a*b=',a*b,', a/b=',a/b)
end.

Пример
Введите a и b: 134.23 -15.7
a+b=118.53, a*b=-2107.411, a/b=-8.54968152866242

begin
  var (a,b,c):=ReadReal3('Введите стороны треугольника:');
  var p:=(a+b+c)/2;
  Writeln('S=',Sqrt(p*(p-a)*(p-b)*(p-c)):0:3)
end.

Пример
Введите стороны треугольника: 13 8 11.3
S=44.843
4,5(41 оценок)
Ответ:
1232508
1232508
21.02.2022
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

procedure DimDimoch(x:real; n:integer; var r:real);
begin
  r:=n*Sqr(Sqr((x+3*x)))-12*x*n+2*n
end;

begin
  var x:real;
  var n:integer;
  Write('Введите x и n: '); Read(x,n);
  var r:real;
  DimDimoch(x,n,r);
  Writeln('Значение функции ',r)
end.

Пример
Введите x и n: -1.23 4
Значение функции 2410.83920384

begin
  Writeln('Введите 6 пар целых чисел');
  var k:=0;
  loop 6 do begin
    var (a,b):=ReadInteger2;
    if (a+b).IsEven then k+=1
    end;
  Writeln('Число пар с четной суммой: ',k)
end.

Пример
Введите 6 пар целых чисел
15 23
19 -7
5 0
4 11
132 63
444 12
Число пар с четной суммой: 3
4,4(95 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ