Госэкзамен. кто может, помогите с задачей на паскале. очень прошу!
Списо состоит из слкдующей структуры:
- вещественное число
- строка из 20 символов
- указатель на следующий элемент списка (в последнем элементе это поле равно NIL ).
Элементы списка хранятся в динамически распределяемой памяти. (То есть, место для них выделяется процедурой new). Составить процедуру вычисления суммы числовых полей всех элементов списка. Процедуре должен передоваться адрес начала списка.
очень прошу вас помочь, 8-го госы
- вещественное число
- строка из 20 символов
- указатель на следующий элемент списка (в последнем элементе это поле равно NIL ).
Элементы списка хранятся в динамически распределяемой памяти. (То есть, место для них выделяется процедурой new). Составить процедуру вычисления суммы числовых полей всех элементов списка. Процедуре должен передоваться адрес начала списка.
очень прошу вас помочь, 8-го госы
Код: Выделить всё
procedure summ(p:Ptvoi_tip);
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
end;
это и вся задача?
просто я вообще не шарю(
просто я вообще не шарю(
восьмого госы( я с этим пока разберусь...
я в этом дуб-дубом((
тут столько всего еще надо успеть, пожалуйста помогите с задачей. очень надо!
я в этом дуб-дубом((
тут столько всего еще надо успеть, пожалуйста помогите с задачей. очень надо!
В принципе, приведенная процедура полностью соответствует поставленной задаче, но возможно потребуется описать тип данных:Upfort писал(а):это и вся задача?
просто я вообще не шарю(
[syntax='Delphi']
type
PListItem=^TListItem;
TListItem=record
Number:real;
sData:string[20];
Next:PListItem;
end;
[/syntax]
Тогда заголовок процедуры примет вид:
procedure summ(P:PListItem);
А вообще, советую описать эту подпрограмму как функцию:
[syntax='Delphi']
function summ(p:PListItem):real;
var
sum:real;
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
summ:=sum;
end;
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Я бы тоже делал функцию, но в условии было сказано
процедуру
спасибо вам большое, за помощь! )
вы мне очень помогли.
вы мне очень помогли.
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
drummer,
ну я бы результат процедуры всё таки вернул через параметер - использование глобальных переменных - некузявно!" писал(а):Я бы тоже делал функцию, но в условии было сказано
Цитата:
процедуру
Код: Выделить всё
procedure summ(p:PListItem, var Sum:real);
begin
sum:=0;
while p<>nil do
begin
sum:=sum+p^.number;
p:=p^.next;
end;
end;
зато будет чуточку быстрей работать
Не думаю, что в учебных задачах критична скорость работы
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.