Устройства ввода: клавиатура,мышь,микрофон,сканер,веб-камера устройства вывода: монитор,наушники,принтер
av52nazarov
14.05.2021
#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; }
aananasAnastiya1270
14.05.2021
Язык vba: function bin(s as string, z as integer) as string dim c as integer dim oct as integer c = val(s) do oc = c mod 2 c = c \ 2 bin = bin & str(oc) loop until c = 0 bin = strreverse(bin) if z = -1 then bin = "-" & bin end function sub z() dim s as string, s1 as string dim n as integer, i as integer, z as integer dim max s = inputbox("введите строку: ") max = null i = 1 do while i < = len(s) select case mid(s, i, 1) case 0 to 9 if z = 0 and i > 1 then z = iif(mid(s, i - 1, 1) = "-", -1, 1) else: z = 1 end if s1 = s1 + mid(s, i, 1) if i = len(s) then gosub 1 case else: if s1 < > "" then gosub 1 end select i = i + 1 loop msgbox ("max=" & max) end 1: n = z * val(s1) msgbox (n & "; двоичная форма: " & bin(s1, z)) if isnull(max) then max = n if max < n then max = n z = 0 s1 = "" return end sub
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Опешите устройства, которые используются в вашем компьютере.