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

Представлений код - для розв’язку задачі сортування елементів масиву, який складається з 6 елементів, за зростанням. Завдання: змініть код таким чином, щоб сортування відбувалось за спаданням.

var

Form1: TForm1;

i:integer;

a: array [0..5] of integer=(4, 9, 2, 0, 1, 8);

procedure TForm1.Button1Click(Sender: TObject);

begin

for i:=0 to 5 do

memo1.lines[i]:=inttostr(a[i]);

end;

procedure TForm1.Button2Click(Sender: TObject);

var j, min, n, buf, imin : integer;

begin

n:=6;

for i := 0 to n-1 do

begin

min := a[i];

imin := i;

for j := i+1 to n do

begin

if a[j] < min then

begin

min := a[j];

imin := j;

end;

end;

buf:=a[i];

a[i]:=min;

a[imin] := buf;

end;

for i:= 1 to n do

Memo2.Lines[i] := IntToStr(a[i]);

end;

end.

Показать ответ
Ответ:
snegirnasta543876
snegirnasta543876
14.06.2022 10:27
Const
  nn=100; // максимальный размер массива

type
  tA=array[1..nn] of integer;

procedure FillArray(n:integer; var a:tA);
var
  i:integer;
begin
  Randomize;
  for i:=1 to n do a[i]:=Random(21)-10
end;

procedure PrintArray(n:integer; a:tA);
var
  i:integer;
begin
  for i:=1 to n do Write(a[i],' ');
  Writeln
end;

function PartSum(n:integer; a:tA):integer;
var
  i,i1,i2,s:integer;
begin
  i:=1;
  while (a[i]<=0) and (i<=n) do i:=i+1;
  if i>n then begin
    PartSum:=0;
    exit
    end;
  i1:=i+1;
  i:=n;
  while (i>i1) and (a[i]<=0) do i:=i-1;
  i2:=i-1;
  if i2<=i1 then PartSum:=0
  else begin
    s:=0;
    for i:=i1 to i2 do s:=s+a[i]
    end;
    PartSum:=s   
end;

procedure SwapZeros(n:integer; var a:tA);
var
  i,j:integer;
begin
  for i:=1 to n do
    if a[i]=0 then begin
      for j:=i downto 2 do a[j]:=a[j-1];
      a[1]:=0;
      end;
end;

var
  n:integer;
  a:tA;

begin
  Write('n= '); Read(n);
  FillArray(n,a);
  PrintArray(n,a);
  Writeln('S=',PartSum(n,a));
  SwapZeros(n,a);
  PrintArray(n,a)
end.

Пример
n= 21
-3 1 4 -2 10 -5 -7 7 -5 -10 -2 5 0 -6 3 5 -7 0 -9 6 4
S=-13
0 0 -3 1 4 -2 10 -5 -7 7 -5 -10 -2 5 -6 3 5 -7 -9 6 4

В качестве бонуса - современное решение без всех этих долгописаний.

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

begin
  var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
  var i:=a.IndexesOf(t->t>0);
  Writeln('S=',a[i.First+1:i.Last].Sum);
  a:=(a.Where(t->t=0)+a.Where(t->t<>0)).ToArray; a.Println
end.
0,0(0 оценок)
Ответ:
nik1ado21
nik1ado21
01.06.2022 10:56
К носителям информации относят:

- магнитные диски;

- магнитные барабаны - ранняя разновидность компьютерной памяти, широко использовавшаяся в 1950-1960. Изобретена Густавом Таушеком в 1932 в Австрии. В дальнейшем магнитный барабан был вытеснен памятью на магнитных сердечниках.

- дискеты - портативный магнитный носитель информации, используемый для многократной записи и хранения данных сравнительно небольшого объема. Запись и считывание осуществляется с специального устройства - дисковода;

- магнитные ленты - носитель магнитной записи, представляющий собой тонкую гибкую ленту, состоящую из основы и магнитного рабочего слоя;

- оптические диски - носитель информации в виде диска с отверстием в центре, информация с которого считывается с лазера. Изначально компакт-диск был создан для цифрового хранения аудио, однако в настоящее время широко используется как устройство хранения данных широкого назначения;

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