В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
thankay
thankay
07.08.2021 16:13 •  Информатика

(pascal abc/turbo)
даны четыре числовых массива f1, f2, f3, f4. вывести имя того из этих массивов, который имеет наибольшее число элементов (если таких элементов более одного, то вывести имя одного из них). описать в программе функцию l(f), значение которой равно количеству элементов массива.

Ответ:
valerango
valerango
10.10.2020 12:53

const

 n = 100; {максимальное число элементов в массиве}

 b = -32768;{константа для заливки массивов }

type

 tF = array[1..n] of integer;

function l(f: tF): integer;

var

 i, k: integer;

begin

 k := 0;

 l := n;

 for i := 1 to n do

   if f[i] = b then

   begin

     l := i - 1;

     exit

   end;

 k := k + 1;

end;

var

 i, k, p1, p2: integer;

 f1, f2, f3, f4: tF;

 s: string[2];

begin

 { заполним все массивы константой b }

 { если при чтении массива константа b, все элементы прочтены }

 for i := 1 to n do

 begin

   f1[i] := b;

   f2[i] := b;

   f3[i] := b;

   f4[i] := b;

 end;

 randomize;

 { f1 }

 k := random(100) + 1;

 write('Длина 1: ', k, ' ');

 for i := 1 to k do

   f1[i] := random(199) - 99; { число от -99 до 99 }

 p1 := l(f1);

 writeln(', вычислена длина ', p1);

 s := 'f1';

 { f2 }

 k := random(100) + 1;

 write('Длина 2: ', k);

 for i := 1 to k do  

   f2[i] := random(199) - 99;

 p2 := l(f2);

 writeln(', вычислена длина ', p2);

 if p2 > p1 then

 begin

   p1 := p2;

   s := 'f2';

 end;

 { f3 }

 k := random(100) + 1;

 write('Длина 3: ', k, ' ');

 for i := 1 to k do  

   f3[i] := random(199) - 99;

 p2 := l(f3);

 writeln(', вычислена длина ', p2);

 if p2 > p1 then

 begin

   p1 := p2;

   s := 'f3';

 end;

 { f4 }

 k := random(100) + 1;

 write('Длина 4: ', k, ' ');

 for i := 1 to k do  

   f4[i] := random(199) - 99;

 writeln(', вычислена длина ', p2);

 if p2 > p1 then

   s := 'f4';

 write('Самый длинный массив ', s);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?