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

Pascal 1. найти среднее арифметическое положительных элементов одномерного массива. 2. найти минимальный элемент одномерного массива.

👇
Ответ:
lolsasafd
lolsasafd
03.09.2020
1. Современное решение

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  Writeln('Среднее положительных ',a.Where(x->x>0).Average);
  Writeln('Минимум ',a.Min)
end.

Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38

2. Школьный вариант на древних версиях

program Ex1;
const
  nn=100; { ограничение на длину массива }
var
  i,n,s,k:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]>0 then begin
      k:=k+1; s:=s+a[i]
      end
    end;
  Writeln;
  Writeln('Среднее положительных ',s/k) 
end.

program Ex2;
const
  nn=100; { ограничение на длину массива }
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  min:=100; { больше максимально возможного }
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  Writeln('Минимум ',min)
end.

Выводы о том, чему и как учат в школе, делайте самостоятельно...
4,4(74 оценок)
Открыть все ответы
Ответ:
goodsmalgirl
goodsmalgirl
03.09.2020
Const
  MAX_SIZE = 10;
 
var
  a: array[1..MAX_SIZE] of integer;
  i, size: integer;
 
procedure delete_odd_elements();
var i, j: integer;
begin
  i := 1;
  repeat
    if odd(a[i]) then
    begin
      dec(size);
      for j := i to size do
        a[j] := a[j + 1]
    end
    else inc(i);
  until i > size;
end;
 
begin
  writeln('Исходный массив: ');
  size := MAX_SIZE;
  for i := 1 to size do
  begin
    a[i] := random(100);
    write(a[i] : 3);
  end;
  delete_odd_elements;
  writeln;
  writeln('Полученный массив: ');
  for i := 1 to size do
    write(a[i] : 3);
end.
4,4(49 оценок)
Ответ:
Rinana1298
Rinana1298
03.09.2020

/// PascalABC.Net 3.4.2, 2053(11.05.19)

var

   a, n: longint;

   text: textfile;

function myMod(num, power, divider: longint): longint;

var

   rest, i: longint;

begin

   rest:=1;

   divider := abs(divider);

   for i := 1 to power do

   begin

       rest := rest * num;

       rest := rest mod divider;

   end;

   

   myMod := rest;

end;

begin

   assign(text, 'input.txt');

   

   {rewrite(text);

   writeln(text, 109);

   close(text);}

   

   reset(text);

   read(text, a);

   writeln('a=', a);

   close(text);

   

   n := 1;

   repeat

       n := n + 1;

   until MyMod(n, n, a) = 0;

   

   assign(text, 'output.txt');

   rewrite(text);

   writeln(text, n);

   close(text);

   

   {reset(text);

   read(text, n);

   writeln('n=', n);

   close(text);}

end.

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