Shago
?>

Дан массив из 10 элементов, заполненный случайным образом. значения элементов от -50 до 50. вывести на экран элементы массива, оканчивающиеся на 4 или 8.

Информатика

Ответы

krimenu5033
Var a: array [1..10] of integer; i, n: byte; begin randomize; for i: =1 to 10 do  begin  a[i]: =random(100)-50;   n: =abs(a[i] mod 10);   if (n = 4) or (n = 8) then write(a[i]: 4);   end; readln; end.
pimenov5
Здесь пришлось учитывать положительные и отрицательные числа, т.к. длина строки с отрицательным числом включает в себя и знак минус. поэтому в некоторых местах программы я добавлю пояснение. var    n,p: integer;     s: string; begin    write ('введите число:   ');     readln (n);   if n< 0 then n: =-n; // отрицательное число переделываем в положительное, чтобы "длина строки" ниже не получилась больше количества цифр в числе   str(n,s); // преобразуем число в строку, чтобы узнать длину числа (количество цифр)   if (length(s) mod 2)=0 then  n: =n div 10;   // проверяем длину числа на четность.  так как нам нужны цифры с нечетных мест, убираем из числа последнюю цифру, которая стоит на четном месте:         p: =1;   while n> =1 do begin // организуем цикл пока число не станет меньше единицы (в цикле мы будем отрезать от него по две цифры)     p: =p*(n mod 10); // произведение умножаем на последнюю цифру числа (остаток от деления числа на 10)     n: =n div 100; // отрезаем от числа 2 последние цифры. (в последней итерации цикла оно примет вид 0,0х, т.е. будет больше 0,  но меньше 1)   end;   writeln;   writeln ('произведение цифр,которые расположены на нечётных позициях, = ',p);     end.проимер: введите число: -2323произведение цифр,которые расположены на нечётных позициях, = 4
Ямпольский

91- в двоичную  делим число на 2 и выписываем остатки91 = 45·2 +  145 = 22·2 +  122 = 11·2 +  011 = 5·2 +  15 = 2·2 +  12 = 1·2 +  0последний множитель перед 2 равный  1  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   1011011

 

- в восьмеричную

делим число на 8 и выписываем остатки91 = 11·8 +  311 = 1·8 +  3последний множитель перед 8 равный  1  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   133

 

- в шестнадцатиричную

делим число на 16 и выписываем остатки91 = 5·16 +  11  (11 записывается как  b)последний множитель перед 16 равный  5  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   5b

52

- в двоичную

делим число на 2 и выписываем остатки52 = 26·2 +  026 = 13·2 +  013 = 6·2 +  16 = 3·2 +  03 = 1·2 +  1последний множитель перед 2 равный  1  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   110100

-  в восьмеричную

делим число на 8 и выписываем остатки52 = 6·8 +  4последний множитель перед 8 равный  6  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   64

- в шестнадцатиричную

делим число на 16 и выписываем остатки52 = 3·16 +  4последний множитель перед 16 равный  3  записываем первым.затем записываем найденные остатки в обратном порядке.получаем:   34

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

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

Дан массив из 10 элементов, заполненный случайным образом. значения элементов от -50 до 50. вывести на экран элементы массива, оканчивающиеся на 4 или 8.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

akbmaslafarkop3175
eleniloy26
Natali-0706
kotsur
alena
sindika
Егоркина
makscska22879
pelagia-kola2658
Cannabikh
maestro6838
bestform
archala
supercom-ru-marinaguseva4267
Misyura_Viktoriya1683