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

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

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

 
 Ответить  Открыть новую тему 
> работа с текстовыми записями файлами, перечень судов с указанием главного двигателя
сообщение
Сообщение #1


гений чегото
**

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

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



требуется создать в текстовом редакторе входной текстовой файл input.txt, куда следует поместить файл содержащий указанную в задании информацию. Далее необходимо разработать структуированнную программу,которая должна прочить данные из этого файла в оперативную память компьютера,осущиствить преобразование этой информации и вывести в требуемой форме в выходной текстовой форме output.txt

HELP!!!!!!!!!! wacko.gif blink.gif



input.txt:
kolomna-MAN; lukhvitsy - MAN; ulan bator - MAN ;novozybkov-SULTZER; boris korniliv - sultzer; vyborg - MAN ;
mravincki -MAN
Output.txt:
MAN(mravincki,kolomna,lukhvitsy,vyborg);SULTZER(boris korniliv,novozybkov)


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


гений чегото
**

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

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


МНЕ КТОНИТЬ ПОМОЖЕТ???? mega_chok.gif adm.gif


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


Гость






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


гений чегото
**

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

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


мдя тут надо подумать что спросить !smoke2.gif


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


гений чегото
**

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

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


ну вообще по действиям расскажите что надо делать типа сначало это надо сделать потом другое и тп 1.gif


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


Гость






Вот это:
const
n = 100;
type
rec = record
ix_drive: integer;
name: string;
end;

var
i_drive, i_ship: integer;
drive: array[1 .. n] of string;
ship: array[1 .. n] of rec;

procedure sort_by_drive(var arr: array of rec; const n: integer);
var
i, j: integer;
T: rec;
begin
for i := 1 to n do
for j := n downto i+1 do
if arr[Pred(j) - 1].ix_drive < arr[j - 1].ix_drive then begin
T := arr[Pred(j) - 1];
arr[Pred(j) - 1] := arr[j - 1];
arr[j - 1] := T;
end;
end;

function trim(s: string): string;
begin
while (s[1] = ' ') and (s <> '') do delete(s, 1, 1);
while (s[length(s)] = ' ') and (s <> '') do delete(s, length(s), 1);

trim := s;
end;

function upstr(s: string): string;
var i: integer;
begin
s := trim(s);
for i := 1 to length(s) do
s[i] := upcase(s[i]);
upstr := s;
end;

procedure add_new(s: string);
var
i: integer;
found: boolean;
p: integer;
begin
i := 1; found := false;
p := pos('-', s);
while (i <= i_drive) and (not found) do
if drive[i] = upstr(copy(s, succ(p), 255)) then found := true
else inc(i);

if not found then begin
inc(i_drive);
drive[i_drive] := upstr(copy(s, succ(p), 255));
i := i_drive;
end;
inc(i_ship);
with ship[i_ship] do begin
ix_drive := i;
name := trim(copy(s, 1, pred(p)));
end;
end;

var
fin, fout: text;
s: string;
i, p: integer;

begin
assign(fin, 'input.txt'); reset(fin);
i_drive := 0; i_ship := 0;

while not eof(fin) do begin
readln(fin, s);
repeat
p := pos(';', s);
if p <> 0 then begin
add_new(copy(s, 1, p - 1));
delete(s, 1, p);
end;
until p = 0;
if s <> '' then add_new(s);
end;

sort_by_drive(ship, i_ship);

for i := 1 to i_ship do begin
if (i = 1) or (ship[i].ix_drive <> ship[i-1].ix_drive) then begin
if i > 1 then write('); ');
write(drive[ship[i].ix_drive], '(')
end
else write(', ');
write(ship[i].name);
end;
write(');');

close(fin);
end.
напечатает тебе результат на экране... Доделай так, чтобы этот результат выводился в файл...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


гений чегото
**

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

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



procedure sort_by_drive(var arr: array of record ; const n: integer); вот тут какая-то ошибка пишет что нужна скобка


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


Гость






Извиняюсь, а где ты в моей программе увидел array of record? У меня немного по другому написано...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


гений чегото
**

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

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


пасиба мне эту задачку помогли решить good.gif


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

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

 





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