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

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

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

> Работа с текстовым файом, Работа с таблицей в текстовом файле
сообщение
Сообщение #1


Гость






Помогите плиз!!!!!!!! Нада составить программу опрделения по данным из таблицы результатов участников лотерии, упорядоченных по количеству угаданных чисел))))))
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Смотри:
var
n_of: integer;
arr_of: array[1 .. 6] of integer;

function count_match(const X, player: array of integer;
const n: integer): integer;
var
s: set of byte;
i, count: integer;
begin
s := [];
for i := 0 to n_of do include(s, X[i]);

count := 0;
for i := 0 to n do
if player[i] in s then inc(count);
count_match := count;
end;
procedure parse_numbers(s: string; var arr: array of integer;
var count: integer);
var
i: integer;
err: integer;
begin
i := 1; count := -1;
while i < length(s) do begin
inc(count);
val(copy(s, i, 2), arr[count], err);
inc(i, 2);
end;
end;
procedure print_numbers(const arr: array of integer;
const count: integer);
var i: integer;
begin
for i := 0 to count do
write(arr[i]:4);
writeln(count_match(arr_of, arr, count):3, ' matches');
end;


var
f: text;
s: string;
arr: array[1 .. 6] of integer;
n: integer;

begin
assign(f, '__res.txt');
reset(f);
readln(f, s);
parse_numbers(s, arr_of, n_of);
print_numbers(arr_of, n_of);

while not eof(f) do begin
readln(f, s);
write(copy(s, 1, 30));
parse_numbers(copy(s, 31, 255), arr, n);
print_numbers(arr, n);
end;

close(f);
end.

Работаем вот с таким файлом:
 2 6111829
ivanov 11 6 4192931
petrov 2126 4192732
sidorov 3116 4192933
ivanova 21 614192934
petrova 3115 4192835
sidorova 21 624192936


Получаем список участников, их номера, и количество угаданных номеров... В принципе, можно создавать список из фамилий участников, и числа угаданных номеров, а потом его отсортировать, и вывести на печать (с массивом конечно проще, но неэффективно сразу резервировать слишком много памяти, да и ограничен массив размером в 64K)

Попробуй, если не получится - поможем...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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