М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
matkazina
matkazina
01.04.2023 04:21 •  Информатика

ИНФ.Дан массив А целых чисел (N=15), заполненный случайным образом числами из промежутка [-40,70]. 1. Вставить в массив А предпоследний элемент массива равный 3.

2. Удалить пятый положительный элемент из массива А.

3. Удалить из него все элементы, кратные 5 и принадлежащие промежутку [a,b] (a и b вводить с клавиатуры).

4. Вставить число К после всех элементов, кратных своему номеру (К вводить с клавиатуры).

5. Дан массив размера N и два целых числа K и M (1 <= K <= N, 1 <= M <= 10). После элемента массива с номером K вставить M новых элементов с нулевыми значениями.

6. Дан массив размера N и целое число K (1 <= K <= N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением.

👇
Открыть все ответы
Ответ:
dmitrykim2000
dmitrykim2000
01.04.2023
     uses
      Crt;
     
    const
      n = 8;
      m = 10;
     
    var
      A: array[1..m, 1..n] of real;
      L, R, i, j, S: integer;
      x, k: real;
      Sort: boolean;
     
    begin
      
      clrscr;
      
      
      randomize;
      for i := 1 to m do
        for j := 1 to n do
          A[i, j] := random(100) / 10;
      writeln('Матрица A');
      
      
      repeat
        Sort := False;
        for i := 1 to m do
          for j := 1 to n - 1 do
            if A[i, j] > A[i, j + 1] then begin
              k := A[i, j];
              A[i, j] := A[i, j + 1];
              A[i, j + 1] := k;
              Sort := True;
            end;
      until
      sort = False;
      
      for i := 1 to m do
      begin
        for j := 1 to n do
          write(A[i, j]:6:1);
        writeln;
      end;
      writeln;
      
      
      writeln('Ввод x');
      readln(x);
      
      for i := 1 to m do
      begin
        L := 1;
        R := n;
        while L < R do
        begin
          j := trunc((L + R) / 2);
          if A[i, j] < x then
            L := j + 1
          else
            R := j;
        end;
        if A[i, R] = x then
          writeln('В ', i, ' строке позиция x:', i, ',', R)
        else
          writeln('В ', i, ' элемент не найден');
      end;
      
      readkey;
      
    end.
4,7(97 оценок)
Ответ:
Dima98891
Dima98891
01.04.2023
Во первых зачем тут числа Фибоначи?

На вход подается 2 числа: a,b где
2^a + 2^(a+1) + 2^(a+2) + ...  2^(b-2) +  2^(b-1) + 2^b

На выводе число - результат формулы выше при подстановке a и b

1 вариант через цикл, сложность O(n):

VAR 
  a, b, adder, sum, i: INTEGER;
BEGIN 
  READ(a, b); 
  adder := 1; 
  FOR i := 1 TO b DO 
  BEGIN   
    adder := 2 * adder;   
    IF (i >= a)   
    THEN     
      sum := sum + adder 
  END; 
  WRITELN(sum);
END.

2 вариант через побитовые сдвиги, сложность O(1):

VAR  a, b: INTEGER;
BEGIN 
  READ(a, b);
  WRITELN((1 SHL (b+1)) - (1 SHL (a)));
END.
4,5(64 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ