Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
1

Ввести три множества через один файл и найти множества их объединения и пересечения

21.11.2013, 17:59. Показов 1403. Ответов 15
Метки нет (Все метки)

Нужно ввести три множества через один файл и найти множества их объединения и пересечения.(желательно с процедурой ввода множества)
Вообщем я написал программу, но ввод с клавиатуры. С файла ну никак не получается, помогите...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2013, 17:59
Ответы с готовыми решениями:

Образовать множество, которое бы содержало один из элементов множества A и один из элементов множества числа B
кто знает как решить Даны множества A; B. Образовать множество, которое бы содержало один из...

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

Определить радиус и центр окружности, проходящей по крайней мере через три точки множества
Определить радиус и центр окружности, проходящей по крайней мере через три точки множества и...

Множества цветов: пересечения, объединения
Определить список из 10 названий цветов. построить 5 множеств из различных элементов этого списка....

15
Супер-модератор
5911 / 2690 / 1298
Регистрация: 04.03.2013
Сообщений: 5,631
Записей в блоге: 1
21.11.2013, 18:51 2
Цитата Сообщение от Snaksuper Посмотреть сообщение
Вообщем я написал программу, но ввод с клавиатуры.
Выложите свой вариант с вводом с клавиатуры, гораздо больше шансов получить ответ если есть заготовка.
0
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
21.11.2013, 19:26  [ТС] 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program lab9;
uses crt;
type
 mn=set of byte;
var
 A, B, C, O, P : mn;
Procedure BBoD (P:char; var D:mn);
var n,i,k:byte;
Begin
 D:=[];
 writeln('BBeDuTe kolvo elementov');
 readln(n);
 writeln('BBeDuTe elementi mnojestva');
 for i:=1 to n do
  begin
   readln(k);
   include(D, k);
  end;
 writeln;
end;
Procedure BbIBoD (P:char; var D:mn);
 var i:byte;
 begin
 writeln('BbIBoD mnojestva ', P);
 writeln;
  for i:=0 to 255 do
   begin
    if i in D then
     write(i, ' ');
     end;
end;
Begin
clrscr;
BBoD('A', A);
BBoD('B', B);
BBoD('C', C);
O:=A+B+C;
P:=A*B*C;
BbIBoD('P', P);
writeln;
BbIBoD('O', O);
writeln;
readln;
end.
0
18 / 11 / 5
Регистрация: 27.05.2013
Сообщений: 36
21.11.2013, 21:11 4
Вопрос - как организован файл? Просто три строки с числами? Или первая строка с кол-вами элементов? Или перед каждой строкой с элементами их кол-во? Это важно =)
0
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
21.11.2013, 22:22  [ТС] 5
Цитата Сообщение от Gealz Посмотреть сообщение
Вопрос - как организован файл? Просто три строки с числами? Или первая строка с кол-вами элементов? Или перед каждой строкой с элементами их кол-во? Это важно =)
На первой строке 1 множество, на второй 2-ое и на третей 3-ье множество
0
18 / 11 / 5
Регистрация: 27.05.2013
Сообщений: 36
21.11.2013, 22:53 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program s;
 
type typeset = set of byte;
var sets: Array[1..3] of typeset;
    currentElement: integer;
    i,j: byte;
 
BEGIN
    assign(input,'input.txt'); reset(input);
    assign(output,'output.txt'); rewrite(output);
    
    for i := 1 to 3 do 
        begin
            while not eoln do 
                begin
                    read(currentElement);
                    include(sets[i],currentElement);
                end;
            readln; 
        end;
        
    for i := 1 to 3 do 
        begin
            for j := 0 to 255 do 
                if j in sets[i] then write(j,' ');
            writeln;    
        end;    
END.
Все довольно просто.
1
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
22.11.2013, 15:21  [ТС] 7
Gealz, Ваша программа не вводит три множества с файла, я вообще не понимаю, что она пытается сделать. Посмотрите мой пример выше, мне нужно исправить ввод с клавиатуры на ввод с файла... Если не сложно, постарайтесь разобраться.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31244 / 20423 / 7961
Регистрация: 22.10.2011
Сообщений: 35,453
Записей в блоге: 6
22.11.2013, 15:43 8
Цитата Сообщение от Snaksuper Посмотреть сообщение
Ваша программа не вводит три множества с файла
Она как раз этим и занимается.
Цитата Сообщение от Snaksuper Посмотреть сообщение
Если не сложно, постарайтесь разобраться.
Вот именно, Snaksuper, постарайтесь разобраться в предложенном коде, прежде чем заявлять, что он "этого не делает".
0
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
22.11.2013, 15:48  [ТС] 9
Цитата Сообщение от UI Посмотреть сообщение
Она как раз этим и занимается.Вот именно, Snaksuper, постарайтесь разобраться в предложенном коде, прежде чем заявлять, что он "этого не делает".
Я переписал программу, она просит ввести три числа с клавиатуры и тут же выводит их...
0
18 / 11 / 5
Регистрация: 27.05.2013
Сообщений: 36
22.11.2013, 17:42 10
Snaksuper, у меня всё работает. Ваш код в студию, и я скажу, где ошибка, поскольку уверен в своём коде на 99,8%.
0
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
22.11.2013, 18:57  [ТС] 11
Цитата Сообщение от Gealz Посмотреть сообщение
Snaksuper, у меня всё работает. Ваш код в студию, и я скажу, где ошибка, поскольку уверен в своём коде на 99,8%.
Ваша программа вводит множества из одного файла в другой, а мне нужно, что бы она ввела их в программу и нашла 2 множества, множество объединения и пересечения и вывела их на экран. Я же кидал свою программу выше
0
18 / 11 / 5
Регистрация: 27.05.2013
Сообщений: 36
22.11.2013, 22:18 12
Snaksuper, с вашей стороны был неправильно поставлен вопрос. Перечитайте первый пост еще разок - вы просили именно считывать с файла, а не кинуть вам ГОТОВОЕ решение задачи. Я думал, модификация моего кода вами под ваши нужды не составит труда, но, видимо, ошибся.
1
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
22.11.2013, 22:31  [ТС] 13
Цитата Сообщение от Gealz Посмотреть сообщение
Snaksuper, с вашей стороны был неправильно поставлен вопрос. Перечитайте первый пост еще разок - вы просили именно считывать с файла, а не кинуть вам ГОТОВОЕ решение задачи. Я думал, модификация моего кода вами под ваши нужды не составит труда, но, видимо, ошибся.
Видимо вы не очень понимаете о чем говорите. Я задал вопрос, я кинул свою программу сюда, попросил в ней переделать, вы пишите ересь, которая делает вывод в файл этих множеств, хотя я попросил совсем о другом.
0
18 / 11 / 5
Регистрация: 27.05.2013
Сообщений: 36
22.11.2013, 22:50 14
Цитата Сообщение от Snaksuper Посмотреть сообщение
хотя я попросил совсем о другом.
Цитата Сообщение от Snaksuper Посмотреть сообщение
но ввод с клавиатуры. С файла ну никак не получается, помогите...
Пожалуйста, вот вам считывание множества с файла. На предыдущей странице. У вас есть три готовых множества - считанных из файла, это считывание моя программа и реализует. Это форум - здесь люди помогают, а не решают за кого-то. Какой из следующих шагов вам непонятен?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5977 / 3560 / 2498
Регистрация: 22.11.2013
Сообщений: 10,095
Записей в блоге: 1
22.11.2013, 22:57 15
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
type
  TBSet = set of byte;
 
procedure ShowBSet(const aSet: TBSet);
var
  i: integer;
begin
  Write('[');
  for i := 0 to 255 do
    if i in aSet then Write(i:4);
  WriteLn(']');
end;
 
procedure ReadBSet(var aSet: TBSet);
var
  b: byte;
begin
  while not SeekEOLn do begin
    Read(b); Include(aSet, b);
  end;
  ReadLn;
end;
 
var
  s1, s2, s3: TBSet;
 
begin
  Assign(input, 'input.txt'); Reset(input);
  ReadBSet(s1); ReadBSet(s2); ReadBSet(s3);
  Write('1: '); ShowBSet(s1);
  Write('2: '); ShowBSet(s2);
  Write('3: '); ShowBSet(s3);
  Write('+: '); ShowBSet(s1 + s2 + s3);
  Write('*: '); ShowBSet(s1 * s2 * s3);
end.
Содержимое input.txt:
Код
1 2 3
2 3 4
3 4 5
Прогон:
Код
1: [   1   2   3]
2: [   2   3   4]
3: [   3   4   5]
+: [   1   2   3   4   5]
*: [   3]
1
-1 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 12
22.11.2013, 23:48  [ТС] 16
Огромное спасибо))))

Добавлено через 1 минуту
Цитата Сообщение от bormant Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
type
  TBSet = set of byte;
 
procedure ShowBSet(const aSet: TBSet);
var
  i: integer;
begin
  Write('[');
  for i := 0 to 255 do
    if i in aSet then Write(i:4);
  WriteLn(']');
end;
 
procedure ReadBSet(var aSet: TBSet);
var
  b: byte;
begin
  while not SeekEOLn do begin
    Read(b); Include(aSet, b);
  end;
  ReadLn;
end;
 
var
  s1, s2, s3: TBSet;
 
begin
  Assign(input, 'input.txt'); Reset(input);
  ReadBSet(s1); ReadBSet(s2); ReadBSet(s3);
  Write('1: '); ShowBSet(s1);
  Write('2: '); ShowBSet(s2);
  Write('3: '); ShowBSet(s3);
  Write('+: '); ShowBSet(s1 + s2 + s3);
  Write('*: '); ShowBSet(s1 * s2 * s3);
end.
Содержимое input.txt:
Код
1 2 3
2 3 4
3 4 5
Прогон:
Код
1: [   1   2   3]
2: [   2   3   4]
3: [   3   4   5]
+: [   1   2   3   4   5]
*: [   3]
Спасибо большое))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2013, 23:48

Получить еще 3 множества как результат объединения, пересечения, разности исходных
Сформировать 2 множества из М и N элементов случайным образом распечатать.Получить еще 3 множества...

Выразить с помощью символов (используя знаки операций пересечения, объединения и дополнения) множества
Выразить с помощью символов (используя знаки операций пересечения, объединения и дополнения)...

Даны три множества. Удалить из третьего множества элементы, не принадлежащие первым двум множествам
Даны три множества. Удалить из третьего множества элементы, не принадлежащие первым двум множествам.

Найти мощность разности An множества и объединения n-1 других множеств
Добрый день! Я пишу программу на C#, по ходу использую Wolfram Mathematica. Недавно столкнулся с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.