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

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

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

 
 Ответить  Открыть новую тему 
> Слияние файлов и массивы, Помогите решить 4 задачки.
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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

 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






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

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

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


Новичок
*

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

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


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

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


Гость






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


Новичок
*

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

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


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

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

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


Гость






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


Новичок
*

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

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


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

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


Гость






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


Новичок
*

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

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


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

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

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

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

 





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