Pascal: Сорировка ОМ; и не только

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Pascal: Сорировка ОМ; и не только

Re: Pascal: Сорировка ОМ; и не только

Хыиуду » 24 дек 2007, 11:14

Я, по-моему, четко описал, что где надо заменить

Re: Pascal: Сорировка ОМ; и не только

DeadFast » 23 дек 2007, 19:29

можешь исправить? У меня прога всё равно прально не считает!

Re: Pascal: Сорировка ОМ; и не только

Хыиуду » 20 дек 2007, 10:40

for i:=1 to n do
If (a mod 2)<>0 then
begin
k:=i;
P:=a[k];
for i:=k downto 2 do
a:=a[i-1];
a[1]:=P;
end;

Два цикла по i один внутри другого точно дадут ошибку. Второй цикл рекомендую сделать, скажем, по j.

for i:=1 to n do Write(V,' ');
begin
if min>V then
min:=V;
end;
Это, конечно, тоже круто, делать write в цикле, а нахождение минимума - где-то в свободном полете. Вы, Абрам Моисеевич, либо крестик снимите, либо трусы наденьте. Т.е. либо уберите write, либо поставьте begin перед ним.

Pascal: Сорировка ОМ; и не только

DeadFast » 19 дек 2007, 21:16

Вот такие задачи и есть наброски но в них не всё верно и местами может что то не дописано посмотрите и исправте пжл!
1. Перенести в начало одномерного массива все нечётные элементы.(файловый ввод и вывод; ввод с помощью типизир константы и вывод в типизир файл)

Код: Выделить всё

Program ktulhu;
uses crt;
const n=7;
 var
 a:array [1..n] of integer;
 F1:Text ;
    i,k,j,p:integer;
    b,c,d,f:integer;
begin
   writeln;
   writeln('Perenesti v nachalo odnomernogo massiva vse nechetnble elementbl');
   clrscr;
   writeln('Ishodnbli odnomernbli massiv');

   assign(F1, 'File2.txt');
 {$I-}
   Reset(F1);
   if IOResult<>0 then
     begin
       writeln('Oshibka pri otkrbltie faila!');
       readln;
       exit;
     end;
  {$I+}
For i:=1 to n do
  begin
   read(F1,a[i]);
   write(a[i],' ');
  end;
 writeln;
for i:=1 to n do
   If (a[i] mod 2)<>0 then
   begin
     k:=i;
     P:=a[k];
     for i:=k downto 2 do
       a[i]:=a[i-1];
       a[1]:=P;
   end;
writeln('Konechnaya posledovatelnost');
For i:=1 to n do
   write(a[i] , ' ');
close(F1);
readln;
end.

2. Дана последовательность а1,а2...,а20. Расположить расположить нечётные элементы последовательности по убывнию.( Использовать модифицированный метод простого выбора);

Код: Выделить всё

program pyz;
const n = 20;
var V:array[1..n] of integer;
    i,j,tmp, min:integer;

begin
Randomize;
 for i:=1 to n do
  V[i]:= Random(100);
Writeln('Zaceni massiv: ');
 for i:=1 to n do Write(V[i],' ');
           begin
   if min>V[i] then
   min:=V[i];
   end;
 for i:=1 to n-1 do
  for j:=i+1 to n do
   if V[i] < V[j] then begin
                     	tmp:= V[i];
	             	V[i]:= V[j];
		     	V[j]:= tmp;
           	     	end;
Writeln;
Writeln('Vse kruto, po ubblvaniu: ');
 for i:=1 to n do Write(V[i],' ');
Readln;
End;
end.

Вернуться к началу