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

Заполнить массив случайными числами и отобрать в другой массив все числа фибона-ччи. используйте логическую функцию, которая определяет, является ли переданное ей число числом фибоначчи. пример: массив а: 12 13 85 34 47 массив b: 13 34

👇
Ответ:
romafadeev1
romafadeev1
28.11.2021
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
function IsFibb(n:integer):boolean;
begin
  var f1:=1;
  var f2:=1;
  while n>f2 do begin var t:=f2; f2+=f1; f1:=t end;
  Result:=(n=f2)
end;

begin
  var a:=ArrRandom(ReadInteger('n='),1,50);
  Writeln('Массив А:'); a.Println;
  var b:=a.Where(k->IsFibb(k)).ToArray;
  Writeln('Массив B:'); b.Println
end.

Тестовое решение
n= 20
Массив А:
35 41 3 41 13 33 2 32 46 17 46 42 45 46 35 24 18 34 19 1
Массив B:
3 13 2 34 1
4,8(31 оценок)
Открыть все ответы
Ответ:
sonya19970
sonya19970
28.11.2021
Задача №1
var a:array[1..4, 1..5] of integer; 
i,j,k:integer; 
begin 
writeln('Заполните матрицу'); 
for i:=1 to 4 do 
for j:=1 to 5 do begin 
read(a[i,j]); 
if (a[i,j] mod 3=0) and (a[i,j]>20) then k:=k+a[i,j]; 
end; 
writeln('Сумма элементов кратных 3-м и > 20 = ',k); 
end.

Задача №2
var a:array[1..5, 1..5] of integer; 
i,j,k:integer; 
begin 
writeln('Заполните матрицу'); 
for i:=1 to 5 do 
for j:=1 to 5 do begin 
read(a[i,j]); 
if i=j then k:=k+a[i,j]; 
end; 
writeln('Сумма элементов главной диагонали = ',k); 
end.
4,8(77 оценок)
Ответ:
AnnaKnuazev
AnnaKnuazev
28.11.2021
Не самый рациональный метод решения, но как говорится чем смог тем

var a,b,c,x,kc,kn,k1,k2:integer; 
begin 
kc:=1; 
kn:=1; 
k1:=0; 
k2:=0; 
a:=0; 
b:=0; 
writeln('Введите число x'); 
read(x); 
while x>0 do begin 
c:=x mod 10; 
if c mod 2=0 then begin 
inc(k1); 
a:=a+c*kc; 
kc:=kc*10; 
end; 
if c mod 2<>0 then begin 
inc(k2); 
b:=b+c*kn; 
kn:=kn*10; 
end; 
x:=x div 10; 
end; 
if k1>k2 then writeln('Четных больше нечетных') else if k1=k2 then writeln('Количество четных = количеству нечетных') else writeln('Четных меньше нечетных'); 
writeln(a,' ', b); 
end. 
4,8(7 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ