Ошибка в коде - Pascal (81068)
Формулировка задачи:
Здравствуйте. Помогите исправить ошибку в данном коде:
Листинг программы
- Type spisok=^s;
- s=record
- n:real;
- next:spisok;
- end;
- var s1,s2,t,vs1,vs2,s3:spisok;
- i,min,minvs,obm:integer;
- sum:real;
- begin
- sum:=0;
- write('Vvedite kolichestvo elementov n: ');
- readln(min);
- new(s1);
- s1:=nil;
- for i:=1 to min do
- begin
- write('Spisok[',i,']: ');
- new(t);
- readln(t^.n);
- t^.next:=s1;
- s1:=t;
- end;
- new(s2);
- s2^.next:=nil;
- s2^.n:=s1^.n;
- while s1<>nil do
- begin
- sum:=sum+s1^.n;
- new(t);
- t^.n:=s1^.n;
- t^.next:=s2;
- s2:=t;
- s1:=s1^.next;
- end;
- writeln;
- while s2<>nil do
- begin
- write(s2^.n:4:1);
- s2:=s2^.next;
- end;
- writeln;
- writeln;
- write('Summa=',sum:5:3);
- end.
Решение задачи: «Ошибка в коде»
textual
Листинг программы
- type
- spisok = ^s;
- s = record
- n: real;
- next: spisok;
- end;
- var
- sp, cur : spisok;
- n, i: integer;
- sum: real;
- begin
- write('Vvedite kolichestvo elementov n: '); readln(n);
- New(sp); cur := sp;
- for i := 1 to n do
- begin
- write('Spisok[', i, ']: '); readln(cur^.n);
- if i < n then
- begin
- New(cur^.next);
- cur := cur^.next;
- end;
- end;
- cur^.next := nil;
- Write('Список:');
- sum := 0;
- cur := sp;
- while cur <> nil do
- begin
- Write(' ', cur^.n);
- sum := sum + cur^.n;
- cur := cur^.next;
- end;
- writeln;
- write('Summa=', sum:5:3);
- end.
Объяснение кода листинга программы
- Объявляются переменные типа
spisok
,s
,sp
,cur
,n
,i
иsum
. - Пользователю предлагается ввести количество элементов в списке.
- Выделяется память под первый элемент списка.
- В цикле считывается информация о каждом элементе списка и сохраняется в соответствующем месте.
- Выделяется память под следующий элемент списка (если он есть).
- Записывается в список.
- Если элемент не последний, выделяется память под следующий элемент списка.
- Переход к следующему элементу списка.
- Окончание списка отмечается выходом из цикла.
- Записывается сумма элементов списка.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д