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

Вмассиве из n элементов, заданных случайным образом из промежутка [-20; 60], найдите произведение всех элементов, больших 20 (pascal abc)

👇
Ответ:
baba22
baba22
27.05.2020

Из сложностей может возникнуть только генерация случайного значения. Функция random(x) возвращает случайное число от 0 до x-1. Когда функция возвращает 0 (минимальное значение), нам нужно, чтобы оно превратилось в 20. Будем отнимать 20 от значения функции random(x):

a[i] := random(x) - 20;

Самое большое число, которое мы хотим получить - 60. Так как мы отнимаем 20, самое большое число, которое должна вернуть функция random(x) равно 80. Значит, x равен 81:

a[i] := random(81) - 20;


Кстати, произведение может получаться слишком большим, а тип данных integer может хранить числа не больше 32767. Поэтому мы должны хранить произведение как longint. Оно позволяет хранить числа до 2^{31}-1


Код

var

 a: array[1..1000] of integer;

 i, n: integer;

 ans: longint;


begin

 read(n);

 ans:=1;

 for i:=1 to n do

 begin

   a[i]:=random(81)-20;

   if a[i] > 20 then ans:=ans*a[i];

 end;

 writeln(ans);

end.

4,4(69 оценок)
Открыть все ответы
Ответ:
Huysosimoy
Huysosimoy
27.05.2020
Var ar:array of array of integer;
n1,k,i,n2,j:integer;
b:boolean;
begin;
readln(n1);
readln(n2);
inc(n1);
inc(n2);
k:=1;
setlength(ar,n1+1);
while k<>n1 do
begin;
setlength(ar[k],n2+1);
inc(k);
end;
b:=false;
k:=0;
i:=1;
j:=1;
writeln('Matrix:');
while i<>n1 do
 begin;
  writeln;
   while j<>n2 do
    begin;
     ar[i,j]:=random(100)-50;
     write(ar[i,j]:4);
     inc(j);
    end;
   j:=1;
   inc(i);
  end;
i:=1;
j:=1;
while i<>n1 do
 begin;
  while j<>n2 do
   begin;
    if ar[i,j]<0 then b:=true;
    inc(j);
   end;
  if b=false then
   begin;
    writeln;
    writeln(i);
    exit;
   end;
  b:=false;
  inc(i);
  j:=1;
 end;
writeln;
writeln('Все');
end.
4,6(76 оценок)
Ответ:
Anastasia4790
Anastasia4790
27.05.2020
Var s:string;
k:integer;

procedure res(s:string;var k:integer);
begin;
if s='очень часто' then k:=k+4;
if s='часто' then k:=k+3;
if s='иногда' then k:=k+2;
if s='редко' then k:=k+1;
end;

begin;
writeln('1. Я часто волнуюсь понапрасну.');
readln(s);
res(s,k);
writeln('2. Мне хочется, чтобы мои друзья подбадривали меня.');
readln(s);
res(s,k);
writeln('3. Я боюсь выглядеть глупцом.');
readln(s);
res(s,k);
writeln('4. Я беспокоюсь за свое будущее.');
readln(s);
res(s,k);
writeln('5. Внешний вид других куда лучше, чем мой.');
readln(s);
res(s,k);
writeln('6. Как жаль, что многие не понимают меня.');
readln(s);
res(s,k);
writeln('7. Чувствую, что я не умею как следует разговаривать с людьми.');
readln(s);
res(s,k);
writeln('8. Люди ждут от меня очень многого.');
readln(s);
res(s,k);
writeln('9. Чувствую себя скованным.');
readln(s);
res(s,k);
writeln('9. Чувствую себя скованным.');
readln(s);
res(s,k);
writeln('10. Мне кажется, что со мной должна случиться какая-то неприятность.');
readln(s);
res(s,k);
writeln('11. Меня волнует мысль о том, как люди относятся ко мне.');
readln(s);
res(s,k);
writeln('12. Я чувствую, что люди говорят про меня за моей спиной.');
readln(s);
res(s,k);
writeln('13. Я чувствую себя в безопасности.');
readln(s);
res(s,k);
writeln('14. Мне не с кем поделиться своими мыслями.');
readln(s);
res(s,k);
writeln('15. Люди не особенно интересуются моими достижениями.');
readln(s);
res(s,k);
if k<10 then
writeln('Вам надо избавляться от чувства превосходства над окружающими, зазнайства, хвастовства. Возьмите за правило принципы: всякая конфликтная ситуация возникла из искры, которую вы высекли сами или разжечь.');
if k>30 then
writeln('Вы себя недооцениваете);
if (k>=10) and (k<=30) then
writeln('Набранное количество от 10 до 30 свидетельствует о психологической зрелости, которая проявляется прежде всего в адекватности самоотражения, то есть реалистической оценке своих сил, возможностей, внешности. Вам по плечу серьезные дела. Дерзайте!');end.
4,6(62 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ