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

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

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

 
 Ответить  Открыть новую тему 
> Задача со списками., Немного помощи
сообщение
Сообщение #1


Пионер
**

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

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


Данные о соотрудниках содержат фамилию и оклад.Ввести данные с клавиатуры в список записей и вывести список для премирования на экран.премия=3 окладам.

Вот что я написал.Подскажите что не правильно что надо доделать?

program zapisi;
type
pData=^Tdata;
TData=record{Tip zapisi o slugawem}
name:string[20];{imya}
oklad:longint;{oklad}
next:pdata;{Указатель на следующий элемент списка}
end;

function readdata(var rec:TData):integer;
var
s:string;{stroka vvoda}
p:integer;{nomer pozicii v stroke}
okladS:string[10];{stroka,sodergawaya oklad}
Error:inTeger;{kod owibki pri preobrazovanii stroki v 4islo}
begin
readln(s);
if s='' then
readdata:=-1
else
begin
p:=pos(' ',s);
if p = 0 then
readdata:=1
else
begin
rec.name:=copy(s,1,p-1);
delete(s,1,p);
okladS:=copy(s,1,255);
val(okladS,rec.oklad,error);
if error <> 0 then
readdata:=1
else
readdata:=0
end;
end;
end;

Var
Head:Pdata;{ukazatel' na golovu spiska}
tail:Pdata;{ukazatel' na xvost spiska}
P:PData;{ukazatel' na o4erednoi element spiska}
readresult:integer;{rezul'tat vvoda zapisi}
n:integer;{4islo slugawix}
premiya:longint;
Begin

{Vvod spiska zapisei}
writeln('Введите фамилии служащих и через пробел их оклад ');
writeln('Для окончания введите пустую строку ');
{na4al'nie ustanovki}
head:=nil;{spisok pust}
tail:=nil;{spisok pust}
n:=0;
{cikl do tex por,poka ne budet vvedena pustaya stroka}
repeat
{Цикл до тех пор, пока очередная строка не будет введена правильно}
repeat
new(p);{создать новый элемент списка}
readresult:=readdata(p^);{Ввести данные с клавиатуры и записать в новый элемент списка}
if Readresult=0 then {Если запись введена без ошибок}
{Добавить элемент в конец списка}
begin
if head=nil then
head:=p;
if tail <> nil then
tail^.next:=p;
tail:=p;
p^.next:=nil;
n:=n+1;
end
else if readresult=1 then
writeln('Ошибка! Повторите!');

{Вывод фамилий соотрудников}
writeln('Результат: ');
p:=head;
while p<>nil do
begin
writeln(p^.NAME,' ',p^.OKLAD,' ',PREMIYA);
p:=p^.next;
end;
end.

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


Гость






Цитата
Подскажите что не правильно что надо доделать?
Оформить циклы (repeat/until в частности) как положено... У тебя сколько раз слово Repeat в программе встречается? Столько же раз должно упоминаться и слово until... Где эти упоминания?

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


И ещё!!! Я не понимаю,почему:

Изображение

Добавлено через 1 мин.
Цитата(volvo @ 11.04.2007 20:17) *

Оформить циклы (repeat/until в частности) как положено... У тебя сколько раз слово Repeat в программе встречается? Столько же раз должно упоминаться и слово until... Где эти упоминания?

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


Гость






Цитата
там такого не встречалось!
Да что ты? Был Repeat и не было Until? blink.gif Открой Help Паскаля, и посмотри, что говорится там...

Добавлено через 2 мин.
Цитата
И ещё!!! Я не понимаю,почему:
Где курсор установлен, может ты соизволишь сказать, или нам надо догадаться? Уж не на последней ли строке с End. ? Ну вот, я же говорил... Repeat открытый, не закрыт, и программа закончилась - что ты хочешь, чтоб сказал компилятор? Он прав... Error in statement, и ничего больше...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

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

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


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


Пионер
**

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

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


а ещё вопрос.мне надо вывести элементы списка,расположенные в порядке возрастания оклада.то есть отсортировать? и как кста? помогите!

Добавлено через 16 мин.
помогите плизззззззззззззззззз!!!!!!!!!!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

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

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


Цитата
то есть отсортировать? и как кста?

Да. Можно методом пузырька.

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


Пионер
**

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

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


я понимаю,что можно,но когда я пытаюсь это сделать,то у меня не получается.напишите плиз сортировку для этой проги?или хотяб объясните,как?!

Добавлено через 10 мин.
блииииииинннннннннн.ну скажите,плиззззззззз!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


может, покажешь, что у тебя не получается?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

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

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


ну вот.я пишу

for i:=1 to n-1 do
for j:=1 to n-i do
if p^[i].okjad ......

но он сразу выписывает мне ошибку,а по другому,я не знаю,как делать((((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Пионер
**

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

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


неужели никто не знает?!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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