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

Паскаль авс 1)введите массив из 5 элементов с клавиатуры и найдите количество элементов , запись которых в 2с.с-палиндром(например,10101 в двоичной=21) 2)заполните массив случайными числами в интервале (100,999) и представьте их по возрастанию кол-ва делителей 3)заполните массив случайными числами в интервале (0,1000) и выведите номера трёх различных минимальных элементов.разрешается сделать только один проход по массиву

👇
Ответ:
ната12354
ната12354
20.12.2021
{1}

const
 n = 5;
var
 a: array [1..n] of integer;
 i,k,x,l: integer;
 t: boolean;
begin
 for i := 1 to n do read(a[i]);
 k := 0;
 for i := 1 to n do
  begin
  t := true;
  x := a[i]; if x < 0 then x := -x;
  l := 1;
  while l <= x do l := l*2; l := l div 2;
  while t and (l > 1) do
    begin
    t := x >= l;
    if t then x := x - l;
    t := t = (x mod 2 <> 0);
    x := x div 2;
    l := l div 4;
    end;
  if t then k := k + 1
  end;
 write(k)
end.

{2}

const
 n = 10;
var
 a,d: array [1..n] of integer;
 i,j,k: integer;
begin
 for i := 1 to n do
  a[i] := 100 + random(900);
 for i := 1 to n do
  begin
  d[i] := 0;
  for j := 1 to a[i] do
    if a[i] mod j = 0 then
    d[i] := d[i] + 1;
  end;
 for i := 1 to n-1 do
  begin
  k := i;
  for j := i + 1 to n do
    if d[j] < d[k] then k := j;
  j := a[k];
  a[k] := a[i];
  a[i] := j;
  j := d[k];
  d[k] := d[i];
  d[i] := j;
  end;
 for i := 1 to n do
  write(a[i],' ')
end.

{3}

const
 n = 10;
 l = 3;
var
 a: array [1..n] of integer;
 m: array [1..l] of integer;
 i,j,k: integer;
begin
 for i := 1 to n do
  begin
  a[i] := random(1001);
  write(a[i],' ')
  end;
 writeln;
 for i := 1 to l do
  m[i] := -1;
 for i := 1 to n do
  begin
  j := 1;
  while j <= l do
    begin
    if (a[i] = m[j]) then j := l else
    if (a[i] < m[j]) or (m[j] = -1) then
      begin
      for k := l downto j+1 do
        m[k] := m[k-1];
      m[j] := a[i];
      j := l
      end;
    j := j + 1
    end;
  end;
 for i := 1 to l do
  if m[i] <> -1 then write(m[i],' ')
end.
4,7(8 оценок)
Открыть все ответы
Ответ:
Nastyalimelps13
Nastyalimelps13
20.12.2021

Всё таки есть сомнение нужна сумма нечётных элементов массива или сумма элементов массива с нечётными индексами?

В данной прграмме подсчитывается сумма  нечётных элементов массива

 

 

Если же нужно второе то строку отмеченную {*} следует заменить на

 

if (i mod 2)>0 then s:=s+a[i];   

 

  

Program massiv;

Uses Crt;

var a:array[1..10] of integer;

       i,sum,ch:integer;

 begin

     clrscr;      

     write('Введите число:' );

     readln(ch);

     write('Введите элементы массива:');

     sum:=0; 

 

     for i:=1 to 10 do

           begin 

               readln(a[i]);

               if (a[i] mod 2)>0 then s:=s+a[i];        {*}

 

           end;

     writeln; write('Исходный массив: ');

for i:=1 to 10 do

      begin  

            write(a[i]);

            write('  ' ); 

    end;  

  writeln; writeln;  

  write('Сумма нечётных элементов массива: ',sum)

 

  writeln; writeln;   

  write('Номера элементов которые больше числа ',ch,' : ' );

for i:=1 to 10 do

      if (a[i]>ch) then  

 

             begin  

                 write(i:2); 

                 write('  ' ); 

           end;

 

  writeln; writeln;

  write('Положительные числа которые кратны числу ',ch,' : ' );  

 

 

for i:=1 to 10 do

      if (a[i]>0) and (a[i] mod ch=0)  then  

             begin  

                 write(a[i]); 

                 write('  ' ); 

           end;

     readkey;  

 

end. 

 

 

4,6(98 оценок)
Ответ:
Игорь3773
Игорь3773
20.12.2021
5.                                                      

program raf105;

var i,n:integer;

begin

write('Введите N: ');

readln(n);

for i:=1 to n do

 writeln('7');

end.

6.                                                      

program raf105;

var  

 i: integer;

 pro: real;

begin

pro:= 1;

for i:=1 to 20 do

pro*= i;

writeln('Произведение первых 20 чисел: ',pro);

end.

7.                                                      

program raf105;

var i,sum: integer;

begin

for i:=1 to 15 do

sum+= i;

writeln('Сумма первых 15 чисел: ',sum);

end.

4,6(33 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ