Ошибка в коде - Pascal (81068)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите исправить ошибку в данном коде:
Листинг программы
  1. Type spisok=^s;
  2. s=record
  3. n:real;
  4. next:spisok;
  5. end;
  6. var s1,s2,t,vs1,vs2,s3:spisok;
  7. i,min,minvs,obm:integer;
  8. sum:real;
  9. begin
  10. sum:=0;
  11. write('Vvedite kolichestvo elementov n: ');
  12. readln(min);
  13. new(s1);
  14. s1:=nil;
  15. for i:=1 to min do
  16. begin
  17. write('Spisok[',i,']: ');
  18. new(t);
  19. readln(t^.n);
  20. t^.next:=s1;
  21. s1:=t;
  22. end;
  23. new(s2);
  24. s2^.next:=nil;
  25. s2^.n:=s1^.n;
  26. while s1<>nil do
  27. begin
  28. sum:=sum+s1^.n;
  29. new(t);
  30. t^.n:=s1^.n;
  31. t^.next:=s2;
  32. s2:=t;
  33. s1:=s1^.next;
  34. end;
  35. writeln;
  36. while s2<>nil do
  37. begin
  38. write(s2^.n:4:1);
  39. s2:=s2^.next;
  40. end;
  41. writeln;
  42. writeln;
  43. write('Summa=',sum:5:3);
  44. end.

Решение задачи: «Ошибка в коде»

textual
Листинг программы
  1. type
  2.   spisok = ^s;
  3.   s = record
  4.     n: real;
  5.     next: spisok;
  6.   end;
  7.  
  8. var
  9.   sp, cur : spisok;
  10.   n, i: integer;
  11.   sum: real;
  12.  
  13. begin
  14.  
  15.   write('Vvedite kolichestvo elementov n: '); readln(n);
  16.   New(sp); cur := sp;
  17.   for i := 1 to n do
  18.     begin
  19.       write('Spisok[', i, ']: '); readln(cur^.n);
  20.       if i < n then
  21.         begin
  22.           New(cur^.next);
  23.           cur := cur^.next;
  24.         end;
  25.     end;
  26.   cur^.next := nil;
  27.  
  28.   Write('Список:');
  29.   sum := 0;
  30.   cur := sp;
  31.   while cur <> nil do
  32.     begin
  33.       Write(' ', cur^.n);
  34.       sum := sum + cur^.n;
  35.       cur := cur^.next;
  36.     end;
  37.   writeln;
  38.  
  39.   write('Summa=', sum:5:3);
  40. end.

Объяснение кода листинга программы

  1. Объявляются переменные типа spisok, s, sp, cur, n, i и sum.
  2. Пользователю предлагается ввести количество элементов в списке.
  3. Выделяется память под первый элемент списка.
  4. В цикле считывается информация о каждом элементе списка и сохраняется в соответствующем месте.
  5. Выделяется память под следующий элемент списка (если он есть).
  6. Записывается в список.
  7. Если элемент не последний, выделяется память под следующий элемент списка.
  8. Переход к следующему элементу списка.
  9. Окончание списка отмечается выходом из цикла.
  10. Записывается сумма элементов списка.
  11. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут