adhotel
?>

Заполните случайным образом одномерный массив n элементов и определите номер элемента с максимальной суммой соседей. Соседи 1-ого элемента - последний и второй. Соседи последнего элемента - предпоследний и 1-ый. Выведите оба массива на экран. за верный ответ

Информатика

Ответы

Надежда-Алексеевна82

Сначала нужно перевести FF в десятичную с.с, пользуемся развернутой записью числа(F=15; 1=1 в шеснадцатеричной с.с):

FF16 = F*16^1 + F*16^0 = 15*16^1 + 15*16^0 = 255 в десятичной.

255 + 1 = 256 теперь нужно перевести 256 из десятичной в шестнадцатеричную, для этого делим число на 16, а остаток записываем задом наперед:

256/16=16 в шестнадцатеричной, но так как у нас нет в данной с.с такого числа(она заканчивается на 15 или F), то мы представляем 16 как единицу и 2 нуля, т.е 100. 

Чтобы было понятней, то весь ряд чисел 16ичной с.с:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

После F мы не можем написать просто 16, поэтому идем к началу ряда, начать число на ноль мы не можем, поэтому берем единицу и к ней два 0, один ноль мы тоже взять не можем, иначе бы получилось 10 или А.

zoomagazinkotmatroskin

const
  n = 10; //количество чисел, которое нужно сформировать
  First = -10; //С какого числа должны генерироваться случайные числа
  Second = 15;{По какое число должны генерироваться случайные числа(например в данном случае случайные числа генерируются в диапазоне от - 10 до 15)}


var
  f, g, h: text;
  i: integer;
  Number: array [1..n] of integer;{Массив, в который записываются числа, считанные из файлов}

begin
  randomize;
  assign(f, 'f.txt');//Инициализируем файл f
  assign(g, 'g.txt');//Инициализируем файл g
  assign(h, 'h.txt');//Инициализируем файл h
  rewrite(f);//Открываем файл f для записи
  for i:= 1 to n div 2 do write(f, random(abs(First) + abs(Second)) + First , ' ');{Первую половину чисел записываем в файл f}
  close(f);//Закрываем файл f
  rewrite(g);//Открываем файл g для записи
  for i:= (n div 2) + 1 to n do write(g, random(abs(First) + abs(Second)) + First, ' ');{Вторую половину случайно сгенерированных чисел записываем в файл g}
  close(g);//Закрываем файл g
  reset(f);//Открываем файл f для считывания
  for i:= 1 to n div 2 do read(f, Number[i]);{Первую половину чисел считываем из файла f в массив}
  close(f);//Закрываем файл f
  reset(g);//Открываем файл g для считывания
  for i:= (n div 2) + 1 to n do read(g, Number[i]);{Вторую половину чисел считываем из файла g в массив}
  close(g);//Закрываем файл g
  rewrite(h);//Открываем файл h для записи
  for i:= 1 to n div 2 do write(h, Number[i], ' ');{Первую половину считанных чисел из массива записываем в файл h}
  writeln(h);//Перевод на новую строку в файле h
  for i:= (n div 2) + 1 to n do write(h, Number[i], ' ');{Вторую половину считанных чисел из массива записываем в файл h}
  close(h);//Закрываем файл h
end.

Все файлы создаются там же, где находится файл программы.

      

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

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

Заполните случайным образом одномерный массив n элементов и определите номер элемента с максимальной суммой соседей. Соседи 1-ого элемента - последний и второй. Соседи последнего элемента - предпоследний и 1-ый. Выведите оба массива на экран. за верный ответ
Ваше имя (никнейм)*
Email*
Комментарий*

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

Shlapakov1911aa
Petrushin482
Nadirovich1317
larinafashion829
nsoro937
nestruev
besson89
Rakitin
arbat
Andrei Morozov
timonina29
alicia179
asvirskiy26
phmad7
juliapierrat