![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
polic |
![]()
Сообщение
#1
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
требуется создать в текстовом редакторе входной текстовой файл input.txt, куда следует поместить файл содержащий указанную в задании информацию. Далее необходимо разработать структуированнную программу,которая должна прочить данные из этого файла в оперативную память компьютера,осущиствить преобразование этой информации и вывести в требуемой форме в выходной текстовой форме output.txt HELP!!!!!!!!!! ![]() ![]() 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) -------------------- -------------
избранный.... но не в Паскале..... |
polic |
![]()
Сообщение
#2
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
МНЕ КТОНИТЬ ПОМОЖЕТ????
![]() ![]() -------------------- -------------
избранный.... но не в Паскале..... |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Расскажи, ЧТО у тебя вызывает затруднения? Полностью программу делать не буду, если что-то конкретное - подскажу, как сделать...
|
polic |
![]()
Сообщение
#4
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
мдя тут надо подумать что спросить
![]() -------------------- -------------
избранный.... но не в Паскале..... |
polic |
![]()
Сообщение
#5
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
ну вообще по действиям расскажите что надо делать типа сначало это надо сделать потом другое и тп
![]() -------------------- -------------
избранный.... но не в Паскале..... |
volvo |
![]()
Сообщение
#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.
напечатает тебе результат на экране... Доделай так, чтобы этот результат выводился в файл... |
polic |
![]()
Сообщение
#7
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
procedure sort_by_drive(var arr: array of record ; const n: integer); вот тут какая-то ошибка пишет что нужна скобка -------------------- -------------
избранный.... но не в Паскале..... |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Извиняюсь, а где ты в моей программе увидел array of record? У меня немного по другому написано...
|
polic |
![]()
Сообщение
#9
|
![]() гений чегото ![]() ![]() Группа: Пользователи Сообщений: 108 Пол: Мужской Репутация: ![]() ![]() ![]() |
пасиба мне эту задачку помогли решить
![]() -------------------- -------------
избранный.... но не в Паскале..... |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 2:35 |