-=Файлы=- Решите 2 задачки)

Ответить
Worlok
Сообщения: 9
Зарегистрирован: 05 апр 2009, 19:21

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

1)Дан символьный файл f. Получить копию файла в файле g

2)Cведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл f, содержащий сведения о нескольких автомобилях. Найти кол-во автомобилей каждой марки

народ, выручайте...
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Увы, какой препод - такие получаются и студенты :(
Какая версия Pascal?
Эти задачи по-разному решаются в разных версиях.
Worlok
Сообщения: 9
Зарегистрирован: 05 апр 2009, 19:21

Turbo Pascal 7.0
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

1)

Код: Выделить всё

var
  f,g:file of byte;
  b:byte;
begin
  assign(f,'c:\source.dat');
  reset(f);
  assign(g,'c:\source copy.dat');
  rewrite(g);
  while not eof(f) do begin
    read(f,b);
    write(g,b);
  end;
  close(f);
  close(g);
end.
Worlok
Сообщения: 9
Зарегистрирован: 05 апр 2009, 19:21

спасибо бальшое)))
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

2)
файл уже дан или надо еще написать программу, котороая этот файл создает?
Worlok
Сообщения: 9
Зарегистрирован: 05 апр 2009, 19:21

файл дан)))
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Ну так надо его приложить.
Worlok
Сообщения: 9
Зарегистрирован: 05 апр 2009, 19:21

вот и файл
Вложения

[Расширение txt было запрещено, вложение больше недоступно.]

Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Вот только теперь понятно, что это не задача на записи, а просто на текстовые файлы!

Код: Выделить всё

var
  f:text;
  names:array[1..100] of string;
  counts:array[1..100] of integer;
  i,n:integer;
  s:string;
begin
  assign(f,'c:\auto.txt');
  reset(f);
  n:=0;
  while not eof(f) do begin
    readln(f,s);
    if pos(' ',s) > 0 then s:=copy(s,1,pos(' ',s)-1);
    i:=n;
    while (i>0) and (names[i]<>s) do dec(i);
    if i=0 then begin
      inc(n);
      names[n]:=s;
      counts[n]:=1;
    end else begin
      inc(counts[i]);
    end;
  end;
  for i:=1 to n do writeln('Марка  ',names[i],' количество ',counts[i]);
end.
Ответить