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

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

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

 
 Ответить  Открыть новую тему 
> Строки, Проверка условия
Yurka
сообщение 20.01.2005 13:18
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 143
Пол: Мужской

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


Помогите составить програмку:
Условие:
Задан непустоой текст, в который входять только буквы и цыфры. Проверить или удовлетворяет он такое условие, что в текст входят только одна цыфра причём её значение равно длине текста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Yurka
сообщение 20.01.2005 13:20
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 143
Пол: Мужской

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


самое интересное как сопоставить значение цыфры в тексте длине текста, ведь они в разных типах.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.01.2005 13:28
Сообщение #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
сообщение 21.01.2005 12:11
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 143
Пол: Мужской

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


Спасибо большое
у меня тоже уже кое-какие идейки возникли rolleyes.gif

Код

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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.01.2005 14:52
Сообщение #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
сообщение 21.01.2005 15:26
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 143
Пол: Мужской

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


Работает ;) . Решение более рацыонально!
Только начинаю разбираться с этими строками поэтому ещё не все функции перебробовал.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 6:32
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"