agutty3
?>

Вводится последовательность из n целых чисел. для каждого числа последовательности вывести новое число, которое появляется после записи цифр числа в обратном порядке. функцией оформить определение нового числа для заданного. на pascale или c++

Информатика

Ответы

vis-lyubov8832
Const n=5;
var x : array[1..n] of integer; 
  i: integer;
function f(a:integer):integer;
var b:integer;
begin
b:=0;
while a>0 do
 begin
 b:=b*10+a mod 10;
 a:=a div 10;
 end;
f:=b;
end;
begin
writeln('Введите ',n,' чисел:');
for i:=1 to n do read(x[i]);
readln;
for i:=1 to n do write(f(x[i]),' ');
writeln;
end.

Пример:
Введите 5 чисел:
45 3954 6 406 18372
54 4593 6 604 27381
fmba18
Pascalabc.net var   a: array[1..10000] of integer;   kz,maxp,n,i,j: integer;   begin     i: =0;   maxp: =integer.minvalue;   writeln ('готов к приему чисел');   repeat     i: =i+1;     readln (a[i]);     until a[i]=0;   n: =i-1;   readln (kz);   for i: =1 to n-1 do      for j: =2 to n do        if maxp< (a[i]*a[j]) then maxp: =(a[i]*a[j]);     writeln ('получено ',n,' чисел');   writeln;   writeln ('полученное контрольное значение: ',kz);   writeln;   writeln ('вычисленное контрольное значение: ',maxp);   writeln;   if kz=maxp      then writeln ('контроль пройден')     else writeln ('контроль не пройден'); end. результаты: 1) готов к приему чисел 1 2 3 4 5 0 20 получено 5 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 20 контроль пройден 2) готов к приему чисел 1 2 3 4 5 6 0 20 получено 6 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 30 контроль не пройден
tkozina

1) для перевода из 10-й в двоичную 2-ую систему счисления нужно число в десятичной системе разделить на 2 и записать остаток , затем тоже самое сделать с целой часть и повторять пока не останется только 1 или 0. конечное числом будут остатки записанные в обратном порядке.

1450/ 2 = 725 остаток 0

725 / 2 = 362 остаток 1

362 / 2 = 181 остаток 0

181 / 2 = 90 остаток 1

90 / 2 = 45 остаток 0

45/ 2 = 22 остаток1

22/2 = 11 остаток 0

11/ 2 = 5 остаток 1

5 / 2 = 2 остаток 1

2 / 2 = 1 остаток 0

1 / 2 = 0 остаток 1

 

результат: 10110101010

 

в 2-х байтовой ячеке всего 16 разрядов, а в наше числе 11 , значит спереди нужно дописать 5 нулей и получим нужное представление

0000010110101010

 

2)

для перевода в 16 систему нужно сначало перевести в 2-ю систему счисления, потом записать обратный код, почитать дополнительный и тогда перевести в 16-ю

вот 1450 в 2-й системе

0000010110101010

обратный код это код в котором все 0 заменены на 1, а 1 на 0

1111101001010101

чтобы получит дополнительный код нужно прибавить 1

1111101001010110

теперь смотрим по 4 разряда и заменяем 1 символом в 16 системе счисления

1111 = f

1010 = a

0101 = 5

0110 = 6

искомое число fa56

3)

  для перевода из 16 в 2 систему счисления нужно каждую цифру числа умножит на 16 в степень равным номеру цифры(справа на лево, отсчет с 0)

f67d(в 16 системе счисления) = 15 * 16 ^3 + 6 * 16 ^2 + 7 * 16^1 + 13 * 16 ^0 = 61440 + 1536 + 112 + 13 = 63101(в 10 системе счисления)

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

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

Вводится последовательность из n целых чисел. для каждого числа последовательности вывести новое число, которое появляется после записи цифр числа в обратном порядке. функцией оформить определение нового числа для заданного. на pascale или c++
Ваше имя (никнейм)*
Email*
Комментарий*

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

соловьев_Куркина
Мусаев Игоревич371
puchkovajulia
Aleksei1463
gladkihvv
vnolenev
alexseyzyablov
Bogataya Vladimir318
Blekjek730
Amulenkov
tcmir
mail5
Sergei1805
RozaAsadullina
ksenia15-79