Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 03:52   #11
Katia_Vasilyeva
Новичок
Джуниор
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

Цитата:
твое выделывание будет и дальше только поднимать настроение
как мило :3
Katia_Vasilyeva вне форума Ответить с цитированием
Старый 29.11.2011, 03:54   #12
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

(про пост №10)
Хорошо, Катюш, но у тебя тут нет проверки на корректность записи. Например, вот такая строка:
3B6 (тут латинское B вставлено)
- тоже пройдет как "йес"

И потом - разве это №1?.. 8-0
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 29.11.2011, 03:56   #13
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Цитата:
Сообщение от Katia_Vasilyeva Посмотреть сообщение
вот первая :
Молодец, все работает, только если начать строку с пробела или вставить больше одного пробела между словами - случится беда )
Son Of Pain вне форума Ответить с цитированием
Старый 29.11.2011, 03:57   #14
Katia_Vasilyeva
Новичок
Джуниор
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
(про пост №10)
Хорошо, Катюш, но у тебя тут нет проверки на корректность записи. Например, вот такая строка:
3B6 (тут латинское B вставлено)
- тоже пройдет как "йес"

И потом - разве это №1?.. 8-0
это не то
..........
Katia_Vasilyeva вне форума Ответить с цитированием
Старый 29.11.2011, 03:59   #15
Katia_Vasilyeva
Новичок
Джуниор
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

Цитата:
случится беда
тогда вот так
Код:
uses crt;
var
    str: string;
    i,k,sum,err: integer;
begin
   sum := 0;
   write('str=');
   readln(str);
   for i:=1 to Length(str) do
   begin
      val(str[i], k, err);
      sum := sum + k;
   end;
   if sum mod 9 = 0 then
      writeln('yes')
   else writeln('no');
end.
Katia_Vasilyeva вне форума Ответить с цитированием
Старый 29.11.2011, 04:07   #16
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

На самом деле ты можешь просто писать
Код:
if str[i] in ['0'..'9'] then добавить к сумме else сразу сказать юзеру, что он не прав
Но я писал про беду в другой задаче )
Son Of Pain вне форума Ответить с цитированием
Старый 29.11.2011, 04:20   #17
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Но я писал про беду в другой задаче )
Да, Кать, ты опять все перепутала.. ))
Вот так imho должно выглядеть решение №2
Код:
var
   s: string;
   i,k,sum: integer;
begin
   sum := 0;
   write('s=');
   readln(s);
   while (Length(s)>0) and (s[1]=' ') do Delete(s,1,1);  // убираем начальные пробелы
   while s[Length(s)]=' ' do Delete(s,Length(s),1);  // убираем конечные пробелы
   for i:=1 to Length(s) do
      if s[i] in ['0'..'9'] then
         sum := sum + Ord(s[i]) - 48
      else begin
         sum:= 1;   // хитрый трюк ))
         break
      end;
   if sum mod 9 = 0 then
      writeln('yes')
   else writeln('no');
end.
Я снова вернулся к Ord, так проще.
Тут хитрый трюк есть, чтоб избежать усложнения структуры.. ))
И еще - я заменил str на s. Не надо использовать названия процедур из стандартных бибилиотек для своих переменных.
Предпочитаю на "ты".

Последний раз редактировалось TinMan; 29.11.2011 в 05:38.
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на обработку строк: удалить каждую 3-ю букву, найти кол-во гласных, кол-во цифр в строке,совпадения в 2-х строках Ирина93 Паскаль, Turbo Pascal, PascalABC.NET 6 05.11.2011 22:10
задачи на обработку массивов bighunter Паскаль, Turbo Pascal, PascalABC.NET 2 09.10.2011 19:58
Задачи на обработку матриц! davka Помощь студентам 1 24.05.2011 07:40
Задача на обработку строк max1m9 Microsoft Office Excel 6 17.12.2009 10:19
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55