euzdenova
?>

Дано двовимірний масив Masiv[4][6] типу int, який заповнюється випадковими числами з проміжку від -7 до 15. Написати код програми, що «ділить» даний масив на 2 одновимірних масиви, один з яких з непарними числами, а другий – з парними. Вивести кожен з них в окремий файл Numbers_1.txt та заранее В C++

Информатика

Ответы

shilinmikhaillg
1)  Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака.  Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
 = - 127,  максимальное число = + 127
2)  Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит,  в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000  0110  0100  0111  и записываем в шестнадцатиричном виде 
0111(2) = 7(16)   0100(2) = 4(16)   0110(2) =6(16)   0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля  = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а)   будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное  01101001(2)  ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
Владимирович111
');
    else writeln('вы должны ввести число от 1 до 11')
  end;
  writeln('');
end.

 

 

 

program Phone;
var day:integer; time:real; week:array[1..7] of string;
begin
  week[7]:='Воскресенье';
  week[6]:='Суббота';
  week[5]:='Пятница';
  week[4]:='Четверг';
  week[3]:='Среда';
  week[2]:='Вторник';
  week[1]:='Понедельник';
  write('введите длительность разговора в минутах ');
  readln(time);
  write('введите номер дня недели ');
  readln(day);
  writeln(' alphaeus is thinking...  ');
  case day of
    '1'..'5':
       begin
         writeln(week[day]);
         writeln('Сумма без скидки - ', 2.3*time);
         writeln('Сумма скидкой - ', 0.8*2.3*time);
         writeln('Скидка не предоставляется');
       end;
    '6','7':
       begin
         writeln(week[day]);
         writeln('Сумма без скидки - ', 2.3*time);
         writeln('Сумма скидкой - ', 0.8*2.3*time);
         writeln('Вам предоставлена скидка!');
       end;
    else writeln('вы ввели неправильный номер дня недели')
  end;
  writeln'');
end.

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

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

Дано двовимірний масив Masiv[4][6] типу int, який заповнюється випадковими числами з проміжку від -7 до 15. Написати код програми, що «ділить» даний масив на 2 одновимірних масиви, один з яких з непарними числами, а другий – з парними. Вивести кожен з них в окремий файл Numbers_1.txt та заранее В C++
Ваше имя (никнейм)*
Email*
Комментарий*