Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Почему не работает?


Рекомендуемые сообщения

Почему не работает прога?

program sost_slov;uses crt;varn,m: string;z,x,y,i: integer;word1, word2: string;begin   clrscr;   WriteLN('Введите первое слово');   ReadLN(word1);   WriteLN('Введите второе слово');   ReadLN(word2);   for i:=1 to length(word1) dobegin    n:=copy(word1,i,i);    for y:=1 to length(word2) do begin     m:=copy(word2,y,y);     if n=m then	 z:=z+1; end;end;   If z>=length(word2) thenWriteLN('Составить можно')   elseWriteLN('Составить нельзя');Writeln(z);   ReadKey;end.

Она должна проверять можно ли из первого слова составить второе. Работает через раз... :D

Ссылка на комментарий
Поделиться на другие сайты

gvozd

Удивительно, что она через раз работает.

Ты не пытался алгоритм записать сначала на русском языке? А возможность того, что в слове есть повторяющиеся буквы, похоже, вообще не учитывалась.

Как минимум, что за странные копирования подстрок типа copy(word,i,i). Может, имелось в виду copy(word,i,1)? Это кажется явной ошибкой, хотя для правильной работы этого изменения все равно недостаточно.

P.S.

Вот вариантик программы по твоему условию: можно ли из первого слова составить второе.

program sost_slov;uses crt;varj,k: integer;word1, word2: string;begin  clrscr;  WriteLN('Word 1:'); ReadLN(word1);  WriteLN('Word 2:'); ReadLN(word2);  for j:=1 to length(word2) do    begin      k:=Pos(copy(word2,j,1),Word1);      if k=0 then         begin           WriteLN('No'); Exit        end;      Delete(Word1, k,1)    end;  WriteLN('Yes');end.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Тролль

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

Ссылка на комментарий
Поделиться на другие сайты

gvozd

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

Любая программа - это перевод с русского на Pascal или C...

И, кстати, ты неправ, что все работает. Твоя версия не будет правильно работать для слов с повторяющимися буквами. Попробуй сам, например, для слов "корова" и "рот".

Ссылка на комментарий
Поделиться на другие сайты

Тролль

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

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...