Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / Разное / Готовые решённые задачи в формате ТХТ / Массив записей / Города и температура
.txt program temperatura;
{$APPTYPE CONSOLE}
uses
SysUtils;
type goroda=record
nazvanie:string[20];
temp:integer;
end;
tmas=array[1..10] of goroda;
massiv=array[1..20] of string;
procedure VVOD (var A:tmas;var n:integer);
var i:integer;
begin
writeln('VVedite kolichestvo gorodov');
readln(n);
for i:=1 to n do begin
writeln('Vvedite nazvanie');
readln(A[i].nazvanie);
writeln('Vvedite temperaturu');
readln(A[i].temp);
end;
end;
procedure VIBOR (A:tmas;n:integer;var B:massiv;var kol:integer);
var i,nizk:integer;
begin
nizk:=a[1].temp;
for i:=1 to n do if a[i].temp<nizk then nizk:=a[i].temp;
kol:=0;
for i:=1 to n do if a[i].temp=nizk then begin
kol:=kol+1;
B[kol]:=a[i].nazvanie;
end;
end;
procedure SORT (var B:massiv;kol:integer);
var i,j:integer;
buf:string;
begin
for j:=1 to kol-1 do
for i:=1 to kol-j do
if B[i]> B[i+1]then begin
buf:=B[i];
B[i]:=B[i+1];
B[i+1]:=buf;
end;
end;
var Gor:tmas;
Nizk:massiv;
i,n,k:integer;
begin
VVOD(Gor,n);
VIBOR(Gor,n,Nizk,k);
SORT(Nizk,k);
writeln;
Writeln ('Yporiadochennii massiv strok');
for i:=1 to k do write (Nizk[i],' ');
writeln;
readln;
end.
{$APPTYPE CONSOLE}
uses
SysUtils;
type goroda=record
nazvanie:string[20];
temp:integer;
end;
tmas=array[1..10] of goroda;
massiv=array[1..20] of string;
procedure VVOD (var A:tmas;var n:integer);
var i:integer;
begin
writeln('VVedite kolichestvo gorodov');
readln(n);
for i:=1 to n do begin
writeln('Vvedite nazvanie');
readln(A[i].nazvanie);
writeln('Vvedite temperaturu');
readln(A[i].temp);
end;
end;
procedure VIBOR (A:tmas;n:integer;var B:massiv;var kol:integer);
var i,nizk:integer;
begin
nizk:=a[1].temp;
for i:=1 to n do if a[i].temp<nizk then nizk:=a[i].temp;
kol:=0;
for i:=1 to n do if a[i].temp=nizk then begin
kol:=kol+1;
B[kol]:=a[i].nazvanie;
end;
end;
procedure SORT (var B:massiv;kol:integer);
var i,j:integer;
buf:string;
begin
for j:=1 to kol-1 do
for i:=1 to kol-j do
if B[i]> B[i+1]then begin
buf:=B[i];
B[i]:=B[i+1];
B[i+1]:=buf;
end;
end;
var Gor:tmas;
Nizk:massiv;
i,n,k:integer;
begin
VVOD(Gor,n);
VIBOR(Gor,n,Nizk,k);
SORT(Nizk,k);
writeln;
Writeln ('Yporiadochennii massiv strok');
for i:=1 to k do write (Nizk[i],' ');
writeln;
readln;
end.
Соседние файлы в папке Массив записей