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

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

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

> Задача на записи, Составить таблицу . Хелп
sintanial
сообщение 15.05.2008 9:52
Сообщение #1


Пионер
**

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

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


Простите за беспокойство но у меня проблема, которую не могу решить.
И так нам в универе тему Record почти не объясняли, так как учитель заболел. И за месяц у нас была только одна пара( и то замещали) на которой другой учитель написал две задачки на доске как пример и все- одним словом тему нам не объясняли. А по практике уже требуют что бы я сдал задачку. Помогите пожалуйста с задачей

Вот собственно и она:
Даны сведения о расходе топлива на автобазах города :№ автобазы, количество израсходованного топлива, количество автомашин на базе. Подсчитать средний расход топлива на одну автомашину на каждой базу и в целом городе. Результат оформить в виде таблицы.

Пожалуйста можете помочь решить задачку и растолковать тупому =), что бы следующую задачу сам смог бы решить =)

З.ы. Вроде по форуму искал но похожей задачки не нашел. Лазил в FAQ и нашел только это Записи. Record., почитал , но пока что мало что понял.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
compiler
сообщение 15.05.2008 15:25
Сообщение #2


Человек
*****

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

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


у меня получилось как-то так:


type
data = ^node;
node = record
number, gas, num : integer;
next : data;
end;

procedure init(var p: data);
var
p_new, tail: data;
i, n : integer;
begin
tail := nil;
write('Введите количество баз: '); readln(n);
for i:=1 to n do begin
writeln('База# ', i);
new(p_new);
p_new^.next := nil;
p_new^.number := i;
write('Введите количество израсходованного топлива: '); readln(p_new^.gas);
write('Введите количество автомашин на базе: '); readln(p_new^.num);

if tail = nil then p := p_new else tail^.next := p_new;
tail := p_new;

writeln;
end;
writeln;
end; { init }

procedure free(var p: data);
var p_old: data;
begin
while p <> nil do begin
p_old := p;
p := p^.next;
dispose(p_old);
end;
end; { free }

procedure print(p: data);
function my_div(const k,l : longint):real;
begin
if l<>0 then my_div:= k/l else my_div:=0;
end; { my_div }
var
sum_gas, sum_num : longint;
begin
sum_num:=0;
sum_gas:=0;
if p<>nil then writeln(' # ', 'машин', ' исп. ', ' средн.');
while p <> nil do begin
sum_num:= sum_num+ p^.num;
sum_gas:= sum_gas+ p^.gas;
writeln(p^.number:3, p^.num:5, p^.gas:5, my_div(p^.gas, p^.num):7:2);
p := p^.next;
end;
writeln;
writeln('Средний разход: ', my_div(sum_gas,sum_num):7:2);
end; { print }

var list : data;

begin
init(list);
print(list);
free(list);
end.

таблицу украшай сам как знаешь)

Сообщение отредактировано: compiler - 15.05.2008 15:31


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
sintanial   Задача на записи   15.05.2008 9:52
compiler   у меня получилось как-то так: type data = ^nod...   15.05.2008 15:25
kosyak   Ну вот структура твоей записи, на сколько я понял:...   15.05.2008 15:35
volvo   А у него в городе 102 базы... Ну, вот такой мегапо...   15.05.2008 15:40
kosyak   А у него в городе 102 базы... Ну, вот такой мегап...   15.05.2008 17:47
compiler   Согласен, я бы тоже с динамикой сделал... но не на...   15.05.2008 18:13
kosyak   первое, не надо отождествлять меня и volvo, ты к ...   15.05.2008 18:32
compiler   и вроде везде проходят сначала записи, а потом и д...   15.05.2008 19:43
kosyak   я не знаю как "везде", я никогда специа...   15.05.2008 19:45
compiler   И ты их без записей делал?сначала, мне было достат...   15.05.2008 20:14
sintanial   Спасибо вам большое добрые люди. Щаз буду разбират...   15.05.2008 15:40
dream-x   Ну я тут попроще сделал нежели compiler, но все ра...   15.05.2008 16:00
sintanial   dream-x . Спасибо большое это понятнее намного. Л...   15.05.2008 16:05
renesko1   type data = ^node;...   15.05.2008 17:19


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

 



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