![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Yurka |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите составить програмку:
Условие: Задан непустоой текст, в который входять только буквы и цыфры. Проверить или удовлетворяет он такое условие, что в текст входят только одна цыфра причём её значение равно длине текста |
Yurka |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: ![]() ![]() ![]() |
самое интересное как сопоставить значение цыфры в тексте длине текста, ведь они в разных типах.
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Yurka
1. В следующий раз давайте более осмысленное название темы. 2. Кнопка "Редактировать" для чего? Зачем лишний пост? 3. Цитата как сопоставить значение цыфры в тексте длине текста Очень просто:Код digit: char; s: string; begin ... digit := ... {после чего в переменной digit зранится значение цифры, например '4' } if ord(digit) - ord('0') = length(s) then ... { значение цифры = длине строки...} end. Сообщение отредактировано: volvo - 21.01.2005 15:56 |
Yurka |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо большое
у меня тоже уже кое-какие идейки возникли ![]() Код var s,s1:string; c:char; y,n,i:integer; Begin writeln('text:'); readln(s); for i:=1 to length(s) do if (s[i]='0') or (s[i]='1') or (s[i]='2') ... or (s[i]='9') then begin n:=n+1; c:=s[i]; end; y:=Length(s); Str(y,S1); if (n=1) and (c=s1[1]) then write('da') else write('net'); end. Вроде сработало. Функция Str() помогла Сообщение отредактировано: Yurka - 21.01.2005 12:45 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Yurka
А если вот так? Код var s: string; n,i: integer; begin writeln('text:'); readln(s); for i := 1 to length(s) do if s[i] in ['0'..'9'] then begin inc(n); if ord(s[i]) - ord('0') <> length(s) then inc(n) end; if n = 1 then write('da') else write('net') end. |
Yurka |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: ![]() ![]() ![]() |
Работает ;) . Решение более рацыонально!
Только начинаю разбираться с этими строками поэтому ещё не все функции перебробовал. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:32 |