(.+)
|U", $an, $check);
$ch=str_replace("
", "\r\n", $check[1][0]);
return $ch;
}
:=random;
{ Или любым другим способом }
{...}
{ Сортировка }
for f1:=1 to 10000 do begin
m:=a[f1];
for f2:=f1+1 to 10000 do
if m<a[f2] then begin
c:=m;
m:=a[f2];
a[f2]:=c;
end;
a[f1]:=m;
end;
{ Запись значений столбиком в текстовый файл }
assign(data,'file.txt');
rewrite(data);
for f1:=1 to 10000 do writeln(data,a[f1]);
close(data);
end.
='h' then writeln('mudhskoy') else writeln('dhensky');
readln;
end.
вот вариант но в нем отчество должно вводится последним и все вводится на английском языке если у тя паскаль подерживает русскую кодировку измени буквы в условии
then
repeat
k:=k+1;
until (B[j]=C[k]) or (k=100);
if k=0 then k:=1;
until (B[j]=C[k]) or (j=100);
if j=0 then j:=1;
until (A[i]=B[j]) and (B[j]=C[k]);
writeln(i,' ',j,' ',k);
end.
Если все таки массивы упорядоченны по возрастанию, то я могу написать алгоритм без использования числа 100. Вот, например, с двумя массивами:
2)begin
i:=0;
repeat
i:=i+1; j:=0;
repeat
j:=j+1;
until (A[i]=B[j]) or (B[j]>A[i]); // второе условие для того, чтобы цикл не зациклился. Например, при A[2]=5 второй цикл будет продолжаться либо пока не дойдет до B[j]=5, либо уже B[j]>5, ибо дальше нет элемента со значением 5.
if j=0 then j:=1; // т.к. массив начинается с 1, а элемента с адресом 0 нет.
until A[i]=B[j];
end.
НО есть проблема: А если, например, A[3]=5, но в массиве B последний элемент равен 4, то в моей второй программе цикл зациклится, т.к. нет элемента массива B, который бы был больше 5. Как эту проблему решить?
>key) do
begin
A[j+1]:=A[j];
j:=j-1;
A[j+1]:=key;
end;
writeln(A[i], ' ');
end;
readln;
End.
Скажите плз в чем ошибка
; вы лишь присваиваете значение элементу массива A[j+1] значение A[j], например элемент A[j+1] = 3, элемент A[j+1] =2 после выполнения операции A[j+1]:=A[j]; вы получите два элемента со значением 2 т.е. вы изменили массив, а не поменяли элементы местами.
Вы вначале правильно мыслили и объявили еще один массив-В так почему вы его не используете в качестве массива в который будете помещать отсортированные значения?
> key:
A[j + 1] := A[j]
j := j - 1
A[j + 1] := key
:)
Дело в том что этот код написан на псевдо языке, а вы взяли и скопировали его в свою программу на паскале. Если у вас не получится реализовать этот алгоритм я вам завтра напишу ответ:)
;
for i:=1 to n do
begin
j:=i;
a[i]:=b[j];
if b[j-1]>a[i] then
begin
c:=b[j];
p:=b[j-1];
b[j]:=p;
b[j-1]:=c;
j:=j-1;
end;
b[j]:=a[i];
end;
for i:=1 to n do
writeln(b[j], ' ');
readln;
End.