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

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

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

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


Пионер
**

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

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


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

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

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

З.ы. Вроде по форуму искал но похожей задачки не нашел. Лазил в FAQ и нашел только это Записи. Record., почитал , но пока что мало что понял.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 -


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

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


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

 





- Текстовая версия 27.04.2024 3:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name