![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
rekrut |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Реальное имя: vovadj Репутация: ![]() ![]() ![]() |
Дана запись, потом вводятся компоненты и записываются в файл, надо сделать процедуру которая открывает файл и находит страну производителя, продукции которой больше всего в магазине:
Unit MODUL;
Interface
type magazin=record
name,cont:string; {название товара и страна производитель (cont)}
price:integer; {цена товара}
wyear:integer; {гарантия (лет)}
End;{magazin}
Procedure con;
Var
f:file of magazin;
frm:magazin;
Implementation
Procedure con; {нахождение страны, товаров из которой больше всего}
Var i,max:integer;
Begin
Assign(f,'D:\db.dat');
reset(f);
max:=1;
for i:=1 to filesize(f) do
read(f,frm);
begin
if max<frm.kod then max:=frm.kod;
end;
reset(f);
for i:=1 to filesize(f) do
begin
read(f,frm);
if frm.kod>=max then writeln('товара больше всего из ',frm.cont,');
end;
close(f);
end;
End. {Unit}
В самой процедуре не знаю как сделать поиск или как определить что товара больше всего из тако то страны . Помогите пожалста!!! Сообщение отредактировано: rekrut - 4.04.2007 21:42 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Сначала попробуй сделать поиск по форуму... Задание решалось практически слово в слово...
|
мисс_граффити |
![]()
Сообщение
#3
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
...а совсем сначала переименуй тему.
заголовок должен быть информативным. и вообще, почитай правила - нет желания делать замечания в каждой теме. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
rekrut |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Реальное имя: vovadj Репутация: ![]() ![]() ![]() |
базара нема ща поищу, а тему чето не пойму как переименовать ) ща тоже попробую
|
rekrut |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Реальное имя: vovadj Репутация: ![]() ![]() ![]() |
Похожего много нашел, но ничего толкового, даже про страны были так же как и у меня, но там не тот поиск совсем задействуется что нужен мне. Мнеб хотя бы теоритически сказать а дальше сам попробую
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
function find_country: string;
var
country_count: array[1 .. 100] of record
country: string[20];
count: integer;
end;
counter: integer;
f: file of magazin;
R: magazin;
found: boolean;
begin
counter := 0;
assign(f, 'db.dat'); reset(f); { <--- Никаких проверок нет - добавишь сам }
while not eof(f) do begin
read(f, R);
found := false;
for i := 1 to counter do
if country_count[i].country = R.cont then begin
inc(country_count[i].count); found := true; break;
end;
// Не было найдено такой страны - добавляем ее в массив
if not found then begin
inc(counter);
with country_count[counter] do begin
country := R.cont; count := 1;
end;
end;
end;
close(f);
// Ну, а теперь просто пройди по всему массиву country_count, найди
// название страны, соответствующее максимальному значению поля count,
// и верни его как результат функции
end;
Как видишь, я немного ограничил длину названия страны - до 20 символов, чтобы не забирать из стека слишком много места... P.S. Набирал прямо здесь, без компилятора - код просто для того, чтобы показать идею !!! |
rekrut |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Реальное имя: vovadj Репутация: ![]() ![]() ![]() |
Пасибо большое, блин сколько ты лет уже етот Паскаль знаешь шо так шаришь
|
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 23:38 |