Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача со строками!

Автор: Pelemeshka 26.07.2006 13:46

Ребят выручите пожалуйста решить мне одну задачу!!!
"Задан произвольный текст являющимся списком фамилий.
В каждой строке записана только одна фамилия и она является
первым словом в стороке. В Найти всех однофамильцев вывести
их список и указать кол-во групподнофамильцев и число
совпадений фамилий в группе. При отсутствии однофамильцев
вывести сообщение."

пример:
Петров А. И.
Иванов И.О.
Сидоров А.С.
Петров Е. П.
Иванов Б.Л.

итог:

Петров 2
Иванов 2

Автор: volvo 26.07.2006 18:17

type
pdata = ^data;
data = record
s: string;
amount: integer;
end;

var
f: text;
s: string;
i, count: integer;
found: boolean;
arr: array[1 .. 200] of pdata;

begin
assign(f, '__fam.txt');
reset(f);

count := 0;
while not eof(f) do begin
readln(f, s);

s := copy(s, 1, pos(' ', s) - 1);
found := false;
for i := 1 to count do begin
if arr[i]^.s = s then begin
inc(arr[i]^.amount); found := true; break
end;
end;

if not found then begin
inc(count);
new(arr[count]);
arr[count]^.s := s; arr[count]^.amount := 1;
end;
end;

for i := 1 to count do
if arr[i]^.amount > 1 then
writeln(arr[i]^.s, ' - ', arr[i]^.amount);

close(f);
end.

Если будет более 200 разных фамилий, увеличь размерность массива Arr...

Кстати, не забудь по окончании работы еще сделать Dispose всем занятым элементам массива Arr, иначе это будет называться "утечка памяти", что не приветствуется...

Автор: Pelemeshka 28.07.2006 16:02

Я думаю что ты мне написал правильную задачу , но пойми
меня: у нас Pascal вообще не было а что ты мне написал не пойму.
Например что за значок ^...
Пожалуйста если можно пришли мне на мыло написанную прогу (.ехе). yes2.gif

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

Автор: volvo 28.07.2006 17:57

Цитата
Пожалуйста если можно пришли мне на мыло написанную прогу (.ехе)
А загрузить Паскаль, нажать F9 и получить EXE-файл уже СЛИШКОМ сложно? dry.gif

Автор: Pelemeshka 28.07.2006 22:28

да нет я нажимал. но там ошибка в этом месте:
inc(arr[i]^.amount); found := true; break
Ошибка: Field identifier expected.
А файл с фамилиями не надо заранее составлять.