Паскаль, Что не так в этой процедуре? Нужно элемент подходящий по условию переставить в конец и при выводе не выводить. Так создаётся эффект удаления элемента.
procedure перестановка;
var
b: string;
begin
writeln('vvod b');
readln(b);
for i: byte := 1 to n-1 do
begin
for j: byte:= 1 to n do
begin
if a[i]=bthen
b:=k10a[j+1];
a[j+1]:=a[j+2];
a[j+2]:=a;
writeln(a[i]);
end;
end;
end;
1)
var
a: 100..999;
a1, a2, a3: 0..9; //а1 - сотни, а2 - десятки, а3 - единицы
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a1, a3, a2);
end.
2)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a2, a1, a3);
end.
3)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a3, a1, a2, a3);
end.
4)
var
a: 1000..9999;
a1, a2, a3, a4: 0..9;
begin
writeln('введите натуральное четырехзначное число');
readln(a);
a1: = a div 1000; //тысячи
a2: = (a mod 1000) div 100; //сотни
a3: = (a mod 100) div 10; //десятки
a4: = a mod 10; //единицы
writeln('полученное число: ', a4, a3, a2, a1);
end.
все остальное делается наподобие этого: просто в writeln меняешь местами цифры и все.
var
a: array[1..1000] of real;
i, k, n, z: integer;
begin
writeln('введите число n: ');
readln(n);
writeln('введите число z: ');
readln(z);
writeln('введите ',n,' действительных чисел (каждое с новой строки): ');
for i : = 1 to n do
begin
readln(a[i]);
if a[i] > z then
begin
a[i] : = z;
k : = k + 1;
end;
end;
writeln('количество замен: ', k);
end.