mriya1987
21.06.2022 02:39

Что не так с программами? Пытаюсь исправить и все равно ничерта не работает, потерялся в структуре программы. Задачи нужно написать по блок-схемам исправить неправильный код. программа по сортировке простым выбором:
program sort;

const
N = 10;

var
a: array[1..N] of integer;
i, j, min, k, c: integer;

begin
write('Введите элементы массива: ');
readln(a);
for i :=1 to N - 1 do begin
k:=1;
min:=a[i];
for j:= i+1 to N do
if a[j] < min then
begin
min := a[j];
c:=a[k];
a[k]:=a[i];
end;
end;
write(min, ' ');
end.

Сортировка простым обменом:
program sort2;

const
N = 10;

var
a: array[1..N] of real;
i, j, b: integer;

begin
writeln('Введите элементы: ');
readln(a);
for i := 2 to N do begin
for j := N to i - 1 do
if a[j] < a[j - 1] then begin
b := a[j];
a[i] := a[i - 1]
end;
end;
for i:=1 to N do
writeln(a[i], ' ');
end.


Что не так с программами? Пытаюсь исправить и все равно ничерта не работает, потерялся в структуре п
Что не так с программами? Пытаюсь исправить и все равно ничерта не работает, потерялся в структуре п

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
DimaMartolog
22.10.2022 17:02

1

var

mas:array[1..100] of integer;

i,n:integer;

en,out:text;

res:real;

qw,qwe:string;  

begin

 n:=0;

 i:=1;

 write('Введите полный путь к импортируемому файлу: ');readln(qw);

 write('Введите полный путь к экспортируемому файлу: ');readln(qwe);

 assign(en,qw+'.txt'); assign(out,qwe+'.txt');  

 reset(en); rewrite(out);

 while not Eof(en) do    

 begin

 readln(en,mas[i]);      

 n:=n+mas[i];                

 inc(i);        

 end;

   res:=(n/(i-1));  

   write(out,res);  

   close(out);      

   close(en);

 end.

Там во вторую тупо добавляешь:

 max:=-100001;

 min:=100001;

if (mas[i]<0) and (mas[i] mod 2 = 0) and (mas[i]<min) then min:=mas[i];

 if (mas[i]>0) and (mas[i] mod 2 = 1) and (mas[i]>max) then max:=mas[i];  

if (max=-100001)or(min=100001) then writeln(out,'ERROR: please, rewrite yor file')

 else  

 begin

   writeln(out,min);

   writeln(out,max);  

Тоже такие же задачи решал)) лол). Ты не из 604??)))

0,0(0 оценок)
Ответ:
заразарема
11.01.2022 16:53

//PascalABC.NET версия 3.4.2.1991 от 03.03.19

//Если программа не запускается, то обновите версию

const

   handsfree = true;

   nmax = 100;

   random_min = -50;

   random_max = 50;

var

   a: array[1..nmax] of real;

   i, n, count: integer;

procedure QuickSort(first, last: Integer);{ Быстрая сортировка массива A[] , использует массив как глобальную переменную}

var

   i, j: integer;

   x, y: real;

begin

   i := first;

   j := last;

   x := a[(first + last) div 2];

   repeat

       while (A[i] < x) do inc(i);

       while (x < A[j]) do dec(j);

       if (i <= j) then

       begin

           y := A[i]; a[i] := a[j]; a[j] := y;

           inc(i); dec(j);

       end;

   until (i > j);

   if (first < j) then QuickSort(first, j);

   if (i < last) then QuickSort(i, last);

end;

begin

   {ввод массива}

   n := nmax;

   if handsfree then begin

       n := random(nmax - 5) + 5;

       for i := 1 to n do

       begin

           a[i] := random(random_max - random_min) + random_min;

           write(a[i], ' ');

       end

   end

   else begin

       write('n = ');

       readln(n);

       for i := 1 to n do

           readln(a[i]);

   end;

   writeln();

   

   QuickSort(1, n);

   

   {вывод массива}

   writeln('Вывод массива[', n, ']:');

   for i := 1 to n do

       write(a[i], ' ');

   writeln();

   

   {подсчет разных}

   count := 1; {первый элемент точно разный}

   for i := 2 to n do

       if a[i] <> a[i - 1] then

           count := count + 1;

   writeln('Разных элементов = ', count);

end.

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