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

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

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

> Задача из 7 урока от Дмитриева Эдуарда., Вопрос по решению задачи.
сообщение
Сообщение #1


Гость






В 7 уроке есть такая задачка, где надо ввести 10 символов и проверить, можно ли из них составить введенное слово.Я написал программу, но у меня она почему то работает некорркектно.Вот код:
Код

Program Puzzle_1;
Uses Crt;
Label zx;
Var
x: Array[1..10] of char;
a,b,c:byte;
s:string;
begin
ClrScr;
Write('Vvedite 10 bukv :');
For a:=1 to 10 do
   begin
   Write(a,') ');
   Readln(x[a]);
   end;
Write('vvedite slovo: ');
Readln(s);
For a:=1 to length(s) do
   Repeat
   Inc(b);
   If b>10 then goto zx;
   If s[a]=x[b] then
      begin
      Inc(c);
      x[b]:='#';
      end;
   Until s[a]=x[b];
zx:
If c=length(s)
Then Write('Iz bukv mozhno sostavitj dannoje slovo!')
Else write('Iz bukv nelzja sostavitj dannoje slovo!');
Readln;
end.

Кстати, почему если я начале вместо Write(a,') ');Readln(x[a]); пишу Write(' ',a,' )');Read(x[a]); , то уменя вместо того, чтобы считывать буквы в строку, прог-а выводит какую-то туфту.
P.S. Заодно, если кому не лень, предложите еЩе варианты решения этой задачи.

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


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


В твоем варианте не очень проработан алгоритм.
Например с переменной b какой-то бред. Она у тебя работает только один раз - ты ее не скидываешь в ноль после первого и последующего прохода цикла
Код
For a:=1 to length(s)
Попробуй еще раз с самого начала сам написать. И не забывай задавать начальные значение переменным, т.е. b:=0; c:=0; а то ты их INC'ом изменяешь, но какое у них было начальное значение??? (а может быть любое)

И постарайся не использовать GOTO - это плохой тон.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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