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

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

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

 
 Ответить  Открыть новую тему 
> ЛОС[Линейный Однонаправленный Список], Исправьте ошибку...)
сообщение
Сообщение #1


Новичок
*

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

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


Помогите исправить ошибки, пожалуйста smile.gif
Задача:Cоставить ЛОС. Вывести максимальное значение нечетной компоненты(позиции)
Код
Program Laba;
uses crt;
type
     link=^rs;
     rs=record
     val:word;
     lnk:link;
end;
var
a,b:link;
i:word;

Procedure p1(var a:link);
var b:link;
i:integer;
begin
a:=nil;
i:=1;
while i<>-1 do begin
readln(i);
new(b);
b^.val:=i;
b^.lnk:=a;
a:=b;
end;end;

Procedure p2(a:link);
var
i:integer;
n:integer;
begin
i:=0;
n:=0;
while a<>nil do begin
n:=n+1;
if (A^.val>i) and (n mod 2<>0) then i:=A^.val;
A:=A^.lnk;
end;
end;

begin
clrscr;
readln(i);
p1(b);
p2(a);
write(i);
end.


Сообщение отредактировано: D1ma -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


?
***

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

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


Цитата
Помогите исправить ошибки, пожалуйста

хоть для начаала напиши какаия ошибка...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Выводит число, которое вводится первым wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Естественно. А ты ждал другого поведения? У тебя описаны 2 переменных с одинаковыми именами: Глобальная и локальная (внутри процедуры). Так вот внутри процедуры все действия будут производиться именно с локальной переменной, которая потом уничтожится. В итоге в i останется первое введенное значение (кстати, зачем ты его вводил, я так и не понял).

Программу проще переписать полностью, чем исправить. Что-то ты здесь сильно накрутил, запутал все, что только можно запутать...
 К началу страницы 
+ Ответить 

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

 





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