Нужно. паскаль. в коде решения ошибка и поэтому сортировка не происходит, ошибка - не дописан цикл, не понимаю как записать. условие - произвести сортировку списка студентов по фамилиям по алфавиту. type st=record f: string; end; var a: array[1..100] of st; g: string; i,j: integer; begin write('n'); readln(n); for i: = 1 to n do begin write('введите фамилии студентов'); read(a[i].f); end; g: ='а'; for i: =1 to n do if a[i].f[1]=g then (здесь нужно дописать еще цикл) begin writeln(a[i].f); end; end.
const
nn=50;
var
a:array[1..nn] of integer;
i,n,imin:integer;
begin
Write('Введите количество элементов в массиве: '); Read(n);
Randomize;
Writeln('Исходный массив');
imin:=1;
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ');
if a[i]<a[imin] then imin:=i;
end;
Writeln;
for i:=imin to n-1 do a[i]:=a[i+1];
Writeln('Массив-результат');
for i:=1 to n-1 do Write(a[i],' '); Writeln
end.
Тестовое решение:
Введите количество элементов в массиве: 15
Исходный массив
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 -20 23 2
Массив-результат
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 23 2
А это версия для тех, кто думает, что Паскалю пора давно "на свалку":
//PascalABC.Net 3.0, сборка 1064
begin
var n:=ReadInteger('Введите количество элементов в массиве');
var a:=SeqRandom(n,-25,25).ToArray();
Writeln('Исходный массив:',#13#10,a);
Writeln('Результат:',#13#10,a.Where(x->x<>a.Min));
end.
Тестовое решение:
Введите количество элементов в массиве 15
Исходный массив:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-25,-5,-15]
Результат:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-5,-15]
Можно сравнить понятность кода и его размер как со "школьным" решением, так и с программой на Java, приведенной в предыдущем ответе.