IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Записи
snopy
сообщение 28.11.2007 16:46
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской

Репутация: -  0  +


Помогите исправить эту программу пожайлуста.
2.Определена запись:
Record
name:array [1..m] of char; {название государства}
sqr : real; {площадь территории}
peop, sch, hosp, inst: word{численность населения, число школ, больниц, вузов}
end;
Используя предложенную структуру записи, составить программу, которая для указанных государств СНГ вводит информацию и печатает название государства, удовлетворяющего требованиям, указанным в варианте и соответствующие характеристики.
Россия, Молдова, Армения. Cписок государств в порядке убывания плотности населения.

Program CNG;
const
m=3;
type
gosydarstvo=record
name:array[1..m] of char;
sqr:real;
sch:1..5000;
hosp:1..5000;
inst:1..5000;
sgr:1..50000;
treb:record
peop,sch,hosp,inst,sqr:1..5;
s:real;
end;
end;
var
Group:array[1..m] of gosydarstvo;
i:byte;
buf:gosydarstvo;
BEGIN
writeln;
for i:=1 to m do
with group[i].treb do
begin
writeln('Vvedite danye',i,'po gosydarstvy');
write('Vvedite gosydarstvo: '); readln;
write('Vvedite chislenost naselenia, chislo shkol, bolnich, vyzov, ploshad');
readln(peop, sch, hosp, inst, sqr)
end; end.
for i: to n do begin
with group[i].treb do
s=peop/sqr;
for i:=1 to n-1 do
for j=i+1 to n do
if group[i].treb.s<group[j].treb.s then
begin
buf:=group[i];
group[i]:=group[j];
group[j]:=buf;
end
END.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 29.11.2007 10:26
Сообщение #2


Гость






snopy, смотри, я внес данные частично, поскольку для твоего задания кроме площади и населения ничего не требуется, закомментирован полный ввод данных. Посмотри, где ты ошибся...

const
m = 3;
type
gosydarstvo = record
name: string[10];
peop, sch, hosp, inst, sqr: longint;
s:real;
end;

const
Group: array[1 .. m] of gosydarstvo = (
(name: 'russia'; peop:150000000; sch:0; hosp:0; inst:0; sqr:17000000),
(name:'moldova'; peop: 3340000; sch:0; hosp:0; inst:0; sqr:33700),
(name:'armenia'; peop: 3213000; sch:0; hosp:0; inst:0; sqr:30000)
);

var
i, j: byte;
buf:gosydarstvo;

BEGIN
writeln;
(*
for i := 1 to m do
with group[i].treb do begin
writeln('Vvedite danye',i,'po gosydarstvy');
write('Vvedite gosydarstvo: '); readln;
write('Vvedite chislenost naselenia, chislo shkol, bolnich, vyzov, ploshad');
readln(peop, sch, hosp, inst, sqr)
end; end.
*)
for i := 1 to m do
group[i].s := group[i].peop / group[i].sqr;

for i := 1 to m do
for j := m downto i + 1 do
with group[i] do
if group[j - 1].s < group[j].s then begin
buf := group[j - 1]; group[j - 1] := group[j]; group[j] := buf;
end;

for i := 1 to m do
with group[i] do begin
writeln(name:10, s:10:5);
end;
END.

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 11:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"