![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Desktop II |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дано три страны. Напечатать списко стран в порядке спаданя
плотность населения, указать количесвто школ, больниць, ВУЗов которые припадають на 1000 человек. Как сделать условие что бы страны выводило в порядке спадание плотности населения ? И количесвто школ, больниць, ВУЗов которые припадають на 1000 человек? Что я сделал. <---> Сообщение отредактировано: Desktop II - 29.03.2006 10:47 |
![]() ![]() |
Desktop II |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вроде все работает только ответы минусовые, почему ?
Vivido posle sortirovki: Nazvnie: StranaII Ploshyad: 16960 Naselenie: -26368 Shkol: 4000 Bolnic: 5000 Wuzov: 100 Plotnost: -1.5547169811E+00 Na 1000 chelovek shkol-1.5169902913E+02 Na 1000 chelovek bolnic-1.8962378641E+02 Na 1000 chelovek-3.7924757282E+00 Nazvnie: StranaI Ploshyad: 13568 Naselenie: -25536 Shkol: 2500 Bolnic: 4000 Wuzov: 1000 Plotnost: -1.8820754717E+00 Na 1000 chelovek shkol-9.7901002506E+01 Na 1000 chelovek bolnic-1.5664160401E+02 Na 1000 chelovek-3.9160401003E+01 uses crt;
const
n = 2;
type
TRec = record
nazv : string;
plosh,shkoly,bol,wuzy,nas:integer;
plot : real;
end;
TBase = array [1..n] of TRec;
procedure Input(var b : TBase);
var
i : byte;
begin
for i := 1 to n do begin
write('Vvedite nazv strani');readln(b[i].nazv);
write('Ploshad');readln(b[i].plosh);
write('Kolichestvo naseleniya');readln(b[i].nas);
write('Kolichestvo shkol');readln(b[i].shkoly);
write('Kolichestvo bolnic');readln(b[i].bol);
write('Kolichestvo WUZov');readln(b[i].wuzy);
b[i].plot:=b[i].nas/b[i].plosh;
b[i].mshk:=(b[i].shkoly/b[i].nas)*1000;
b[i].mbol:=(b[i].bolnic/b[i].nas)*1000;
b[i].mwuz:=(b[i].wuzy/b[i].nas)*1000;
writeln;
end;
end;
procedure Print(b : TBase);
var
i : byte;
begin
for i := 1 to n do begin
writeln('Nazvnie: ',b[i].nazv);
writeln('Ploshyad: ',b[i].plosh);
writeln('Naselenie: ',b[i].nas);
writeln('Shkol: ',b[i].shkoly);
writeln('Bolnic: ',b[i].bol);
writeln('Wuzov: ',b[i].wuzy);
writeln('Plotnost: ',b[i].plot);
writeln('Na 1000 chelovek shkol',b[i].mshk);
writeln('Na 1000 chelovek bolnic',b[i].mbol);
writeln('Na 1000 chelovek',b[i].mwuz);
end;
end;
procedure Sort(var b : TBase);
var
i : byte;
temp : TRec;
flag : boolean;
begin
repeat
flag := true;
for i := 1 to n - 1 do
if not (b[i].plot >= b[i+1].plot) then begin
temp := b[i];
b[i] := b[i + 1];
b[i + 1] := temp;
flag := false;
end;
until flag;
end;
var
base : TBase;
begin
clrscr;
writeln('Ввод данных : ');
Input(base);
clrscr;
writeln('Вывод до сортировки : ');
Print(base);
Sort(base);
writeln;
writeln('Вывод после соритровки : ');
Print(base);
readln;
end.
Сообщение отредактировано: volvo - 5.11.2006 19:24 |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 14:48 |