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

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

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

 
 Ответить  Открыть новую тему 
> работа с текстовыми записями файлами, перечень судов с указанием главного двигателя
polic
сообщение 15.12.2006 0:41
Сообщение #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 
 К началу страницы 
+ Ответить 
polic
сообщение 18.12.2006 22:23
Сообщение #2


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

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

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


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


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


Гость






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


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

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

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


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


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


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

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

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


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


--------------------
-------------
избранный.... но не в Паскале.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.12.2006 14:47
Сообщение #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
сообщение 19.12.2006 20:14
Сообщение #7


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

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

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



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


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


Гость






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


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

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

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


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


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

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

 

- Текстовая версия 24.07.2025 2:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"