Nikolaevna382
?>

ИНФ.Дан массив А целых чисел (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 вставить новый элемент с нулевым значением.​

Информатика

Ответы

mishamedbrat
     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.
nikziam
Во первых зачем тут числа Фибоначи?

На вход подается 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.

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

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

ИНФ.Дан массив А целых чисел (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 вставить новый элемент с нулевым значением.​
Ваше имя (никнейм)*
Email*
Комментарий*

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

appmicom
Светлана308
mishapavlov9
katdavidova91
yugraspets
tnkul
Альберт Луиза1595
sssashago8
zrv85
соловьев_Куркина
emmakazaryan290
julia3594265843
tteplovoz3789
elozinskaya
farmprofi