Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.68/174: Рейтинг темы: голосов - 174, средняя оценка - 4.68
Matix
0 / 0 / 0
Регистрация: 03.07.2009
Сообщений: 4
1

Программа для составления слов из введенного слова.

03.07.2009, 10:36. Просмотров 32309. Ответов 20
Метки нет (Все метки)

Нахождение в заданном словаре слов,содержащих только букыв заданого слова
(например дано слово "программа", и из него можно составить слова пар,паром,грамм,рог...) основное слово вводиться с клавиатуры,вывод результатов по желанию на экран или файл.

Словарь храниться в текст. файле - каждое слово на отдельной строке:содержит примерно 20000 слов; должна быть представлена возможность добавления слов в словарь,причем,если вводимое с клавиатуры слово уже есть в словаре,оно не должно добавляться повторно.

Если кому не лень,то прошу помочь ибо сам ничего в этом не понимаю
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2009, 10:36
Ответы с готовыми решениями:

Программа для составления кроссворда
Люди надо написать программу для сост. кроссворда помогите хотя бы начало а то ваще не врубаюсь.

Программа, которая выводит буквы введенного слова в случайном порядке
Здравствуйте, может кто-нибудь подсказать как выполнить эту задачу. Суть в том, что программа...

Программа для составления кроссвордов
Помогите пожалуйста с заданием, нужно написать программу составляющая кроссворд на pascal...

Нужна программа для составления блок схем
Поделитесь,если не трудно, ссылкой на программу по созданию блок схем

Нужна программа для составления блок-схем
Доброго времени суток! Кто знает программу которая по готову коду паскаля составляет блок-схему...

20
mamedovvms
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
03.07.2009, 11:24 2
а как скоро тебе нужна эта программа???
0
Matix
0 / 0 / 0
Регистрация: 03.07.2009
Сообщений: 4
03.07.2009, 13:55  [ТС] 3
Ну скажем так,к середине следующей недели.
Буду очень признателен.
0
John_Pa9JIbHuK
Добрый самаритянин
1101 / 616 / 137
Регистрация: 31.03.2009
Сообщений: 2,568
03.07.2009, 14:33 4
эт как программа узнает есть слово или нет из этих букв??
0
03.07.2009, 14:33
mamedovvms
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
03.07.2009, 14:36 5
ок
0
EnzoMatrix
120 / 120 / 14
Регистрация: 14.03.2009
Сообщений: 462
03.07.2009, 14:36 6
Цитата Сообщение от John_Pa9JIbHuK Посмотреть сообщение
эт как программа узнает есть слово или нет из этих букв
нутак словарь же для того и прилагается, чтобы по нему проверять
0
kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
03.07.2009, 18:16 7
создать эту прогу невозможно.
0
odip
Эксперт С++
7167 / 3225 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.07.2009, 18:31 8
Это почему невозможно ?
При наличии словаря технически возможно.
0
Jazon_deenAlt
4112 / 986 / 191
Регистрация: 09.04.2009
Сообщений: 4,226
03.07.2009, 18:32 9
kentaw, почему??? грубо говоря вот алгоритм...
есть 2 стринговых значения. одно ето слово(например программа, или еще какое) второе ето слова которое беретса из библиотеки. итак програма получает словодалее идет проверка на возможность составление его из букв слова-образца. проверка может быть такой:
программа а из библиотеки беретса грамм...
теперь берем побуквенно
п в грамм не встричаетса
р тоже
о тоже
г встречаетса вытираем ее из грамм будет рамм
р встречаетса вытираем ее из рамм будет амм
а встречаетса вытираем ее из амм будет мм
м(первая) встречаетса вытираем ее из мм будет м
м(вторая) встречаетса вытираем ее из м будет ''
а уже не встичаетса...
теперь если константа из библиотеки стала '' ну либо s[0]=0 то слово можно составить выводим его на екран) вот и все) а вы говорите невозможно)
0
kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
03.07.2009, 18:39 10
ребята а вы почитали задачку
Pascal
1
слово вводиться с клавиатуры
и что будете делать.
На русском языке 250.000 слов!
0
Puporev
Модератор
56622 / 43302 / 29935
Регистрация: 18.05.2008
Сообщений: 103,019
03.07.2009, 18:43 11
На русском языке 250.000
Обижаете. В Академическом словаре русского языка 850 000 слов.
1
kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
03.07.2009, 18:44 12
Спасибо Puporev за поправление
0
Jazon_deenAlt
4112 / 986 / 191
Регистрация: 09.04.2009
Сообщений: 4,226
03.07.2009, 18:50 13
Уважаемый kentaw, а то что слово вводитса из клавиатуры и то что слов в принцыпе очень много делают задачу невозможной? может долгообрабатываемой, может медленной... но не невозможной... чтобы убыстрить процес работы программы можно много чего сделать... ето уже оптимизация. например можно создать темповый файл в который переписать слова которые могут быть например которые начинаютса с букв слова-ключа а ето уже намного меньше 850тыс... Но программу то сделать возможно)))
0
Matix
0 / 0 / 0
Регистрация: 03.07.2009
Сообщений: 4
03.07.2009, 20:38  [ТС] 14
Рад,что достаточно многих заинтересовал этот вопрос
Если бы я вообще в этом,что-то понимал... Сам бы решил... А так приходиться прибегать к помощи
0
mamedovvms
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
05.07.2009, 09:17 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
uses crt;
var f:text;
    adres,slovo,slovar:string;
    k:integer;
    i:longint;
    l:boolean;
    ch:char;
function proverka(slovo,slovar:string):boolean;
var flag:boolean;
    ch:char;
    begin
    flag:=true;
        repeat
 
            if pos(slovar[1],slovo)=0 then flag:=false
                else
                    begin
                        delete(slovo,pos(slovar[1],slovo),1);
                        delete(slovar,1,1);
                    end;
        until(flag=false)or(slovar='');
      proverka:=flag;
    end;
begin
  l:=false;
  clrscr;
  writeln('Dobavit slovo v slovar : 1 ');
  writeln('Nayti v slovare slova  : 2 ');
  ch:=readkey;
if ch='1' then
 begin
   clrscr;
   writeln('Vvedite adres slovarya ');
   readln(adres);
   writeln('Vvedite slovo kotoroe nado dobavit ');
   readln(slovo);
   assign(f,adres);
   reset(f);
    repeat
     readln(f,slovar);
     if slovo=slovar then l:=true;
    until(eof(f))or(l);
   close(f);
   if l then writeln('Takoe slovo est ')
    else
      begin
       append(f);
       writeln(f,slovo);
       close(f);
       writeln('Slovo dobavleno ');
      end;
 end;
if ch='2' then
 begin
  clrscr;
  writeln('Vvedite adres slovarya ');
  readln(adres);
  writeln('Vvedite slovo ');
  readln(slovo);
  assign(f,adres);
  reset(f);
  k:=0;
  i:=0;
    repeat
      readln(f,slovar);
     if length(slovar)<=length(slovo) then
      if proverka(slovo,slovar)=true then
        begin
          l:=true;
          writeln(slovar);
          k:=k+1;
          i:=i+1;
        end;
      if k=20 then
       begin
        readln;
        k:=0;
       end;
    until(eof(f));
 
 
if l=false then writeln('Net')
 else writeln('Naydeno ',i,' slov');
 
 end;
readln;
end.
я пробывал этот код в работе для словаря из 8 000 000 слов, работает около 1 минуты, так что прежде чем говорить что можно сделать а что нельзя, необходимо хотябы попробывать сделать задачу

Добавлено через 55 минут 21 секунду
только надо будет дописать , чтобы выводило результат по выбору на экран или в файл, а то я что то про это забыл
6
Matix
0 / 0 / 0
Регистрация: 03.07.2009
Сообщений: 4
05.07.2009, 13:14  [ТС] 16
mamedovvms
Мужик ОГРОМНОЕ тебе СПАСИБО!)))
0
Mazilkree
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 39
26.12.2009, 13:37 17
А можно было и через Case написать.
0
asdoma
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 2
25.11.2010, 13:10 18
mamedovvms, Доброго времени суток.Подскажите, как открыть эту прогу?

uses crt;
var f:text;
adres,slovo,slovar:string;
k:integer;
i:longint;
l:boolean;
ch:char;
function proverka(slovo,slovar:string):boolean;
var flag:boolean;
ch:char;
begin
flag:=true;
repeat

if pos(slovar[1],slovo)=0 then flag:=false
else
begin
delete(slovo,pos(slovar[1],slovo),1);
delete(slovar,1,1);
end;
until(flag=false)or(slovar='');
proverka:=flag;
end;
begin
l:=false;
clrscr;
writeln('Dobavit slovo v slovar : 1 ');
writeln('Nayti v slovare slova : 2 ');
ch:=readkey;
if ch='1' then
begin
clrscr;
writeln('Vvedite adres slovarya ');
readln(adres);
writeln('Vvedite slovo kotoroe nado dobavit ');
readln(slovo);
assign(f,adres);
reset(f);
repeat
readln(f,slovar);
if slovo=slovar then l:=true;
until(eof(f))or(l);
close(f);
if l then writeln('Takoe slovo est ')
else
begin
append(f);
writeln(f,slovo);
close(f);
writeln('Slovo dobavleno ');
end;
end;
if ch='2' then
begin
clrscr;
writeln('Vvedite adres slovarya ');
readln(adres);
writeln('Vvedite slovo ');
readln(slovo);
assign(f,adres);
reset(f);
k:=0;
i:=0;
repeat
readln(f,slovar);
if length(slovar)<=length(slovo) then
if proverka(slovo,slovar)=true then
begin
l:=true;
writeln(slovar);
k:=k+1;
i:=i+1;
end;
if k=20 then
begin
readln;
k:=0;
end;
until(eof(f));


if l=false then writeln('Net')
else writeln('Naydeno ',i,' slov');

end;
readln;
end.

Добавлено через 2 минуты
Matix, Привет! Помоги открыть ет прогу?

Или как ето сделать?
0
Mazilkree
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 39
25.11.2010, 22:22 19
А Pascal тегом тебе религия воспользоваться не позволяет? Скопируй код в буфер, открой паскаль, правый клик по значку слева в заголовке окна-изменить-вставить.
0
asdoma
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 2
26.11.2010, 20:07 20
Mazilkree, Блин я в етом вообще не понимаю а что такое "ПАСКАЛЬ тегом" ?
Спасибо за терпение.
0
26.11.2010, 20:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2010, 20:07

Нужна программа для составления блок-схем
Не подскажите прогу типа FCE editor, которая будет справляться с функциями и процедурами? ...

Выдать на экран список слов, длина которых равна длине последнего введенного слова
Программа должна считывать с клавиатуры слова в массив до тех пор, пока не будет введено три слова,...

Программа для составления блок-схемы
а есть программа которая делает по программе блок схему? где можно скачать бесплатно без...


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

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

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