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

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

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

 
 Ответить  Открыть новую тему 
> Слияние файлов и массивы, Помогите решить 4 задачки.
vicsem
сообщение 26.12.2004 15:11
Сообщение #1


Новичок
*

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

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


Всем привет!
Люди помогите с решением 4 задачек, очень нужно

Условия:
15.28
type F1=file of integer
Пусть в каждом из файлов f и g элементы упорядочены по убыванию.
Требуется слить эти файлы в один h, также упорялочить по убыванию.
Решение задачи описать в виде процедуры merge(f, g, h) от параметров F1.

14.12
type M=set of 0…99
Описать функцию card(A), подсчитывающую количество элементов, в множестве А типа М.

14.30
type продукт=(хлеб, масло, молоко, мясо, рыба, соль, сыр, колбаса, сахар, чай, кофе);
ассортимент=set of продукт;
магазины=aray[1…20] of ассортимент;
описать роцедуру наличие(Маг., А, В, С), которая по инф из массива Маг типа магазины(Маг, ai – это множество продуктов, имеющихся в i-м магазине) присваивает параметрам А, В и С типа ассортимент следующие значения:
А – множество продуктов, которые есть во всех магазинах;
В – множество продуктов, каждый из которых есть хотябы в одном магазине;
С – множество продуктов, которых нет ни в одном магазине.

15.19
Дана непустая последовательность слов, содержащих от 1 до 8 букв;
между соседними словами – запятая, за последним – точка.
Напечатать все слова, отличные от последнего.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.12.2004 15:20
Сообщение #2


Гость






vicsem
Цитата
15.28

Посмотри здесь, что-то очень похожее. алгоритм слияния

Цитата
14.12

Код

type
  Index = 0 .. 99;
  M = set of Index;
const
  A: M = [1, 4, 7, 8];

function Card(X: M): Word;
  var i: Index; count: integer;
  begin
    count := 0;
    for i := Low(Index) to High(Index) do
      if i in X then inc(count);
    card := count
  end;

begin
  writeln(card(A));
end.


Цитата
14.30

Я сделал для 3 магазинов...

М
Решение задачи перенесено в FAQ: Множества
volvo

 К началу страницы 
+ Ответить 
vicsem
сообщение 26.12.2004 18:53
Сообщение #3


Новичок
*

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

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


Еще вопросик, чето я не доганяю.
Пробую разобраться и не получается.

Итак кусочек кода:

Код
type f1=file of integer;

var massf : array[1..100] of integer;
   tf: integer;
   f : f1;

begin
Assign(f, 'work\f.dat');
Reset(f);

repeat  { считывание чисел}
 tf := tf+1;
 read(f,massf[tf]);
until eof(f);


В файле f записаны числа:
10
6
3
При этом получается, что в massf записываются не числа из файла f
а непонятно что.
Почему?

Пользуйся тегами [ code] и [ /code] для исходников

Сообщение отредактировано: volvo - 26.12.2004 18:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.12.2004 19:02
Сообщение #4


Гость






vicsem
1. Ты используешь File Of Integer, а числа скорее всего так и записаны - в текстовом формате. А ведь это не одно и то же... Посмотри здесь, я уже объяснял разницу...

2. Начальное значение переменной tf кто задавать будет?

Сообщение отредактировано: volvo - 26.12.2004 19:02
 К началу страницы 
+ Ответить 
vicsem
сообщение 26.12.2004 19:28
Сообщение #5


Новичок
*

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

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


Спасибо за обьяснение и подсказки.

А как проверить работоспособность задачи 14.30?
Запускаю, все отрабатывает, а результат как увидеть?
:p2:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.12.2004 19:39
Сообщение #6


Гость






vicsem
Посмотри сейчас, я добавил вывод элементов...
 К началу страницы 
+ Ответить 
vicsem
сообщение 26.12.2004 19:54
Сообщение #7


Новичок
*

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

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


Цитата(volvo @ 26.12.04 19:02)
vicsem
1. Ты используешь File Of Integer, а числа скорее всего так и записаны - в текстовом формате. А ведь это не одно и то же...

А как быть, в условиях задачи задано, что File Of Integer.
Как тогда правильно задать исхоодные файлы? unsure.gif

Или обьявлять их текстовыми и не мучиться? sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.12.2004 19:59
Сообщение #8


Гость






Объявляй текстовыми... Зачем тебе лишние проблемы?
 К началу страницы 
+ Ответить 
vicsem
сообщение 26.12.2004 20:02
Сообщение #9


Новичок
*

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

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


Цитата(volvo @ 26.12.04 19:39)
vicsem
Посмотри сейчас, я добавил вывод элементов...

Останавливается на write_set и пишет unknown identifier.
У меня TP7.0
В хелпе я такой команды не нашел.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.12.2004 20:08
Сообщение #10


Гость






write_set - это процедура (она тоже описана в программе...)
Проверь как следует, все ли скопировал... У меня тоже TP70 и все работает...
 К началу страницы 
+ Ответить 
vicsem
сообщение 26.12.2004 22:15
Сообщение #11


Новичок
*

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

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


Цитата(volvo @ 26.12.04 20:08)
write_set - это процедура (она тоже описана в программе...)
Проверь как следует, все ли скопировал... У меня тоже TP70 и все работает...

Проверил, "а слона то я и не заметил" :D

Все работает, ОГРОМНОЕ СПАСИБО!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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