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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 11:34   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию Найти кол-во чисел в строке.

Помогите решить задачу для зачёта.
Найти кол-во чисел в строке. (например я пошёл гулять в 6 и пришёл 8, ответ 2 числа).
Айдар вне форума Ответить с цитированием
Старый 22.06.2009, 11:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В цикле по строке
if s[i-тый элемент строки] in ['0'..'9'] then увеличиваем счетчик колва цифр.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2009, 13:02   #3
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
Восклицание

а можно код программы, я так понимаю тут надо чё то изменить и все?

Цитата:
var
s,tmp:string;
i,sum,num:byte;
cod:integer;
begin
readln(s);
sum := 0;
for i:=1 to length(s)+1 do begin
if (s[i] in ['0'..'9']) then
tmp := tmp + s[i]
else begin
val(tmp,num,cod);
sum := sum + num;
tmp := '';
end;
end;

writeln(sum);
readln;
end.
Айдар вне форума Ответить с цитированием
Старый 22.06.2009, 13:11   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу предложить вот так:
Код:
 var s:string;i,c:integer;
begin
 s:='например я пошёл 5 гулять в  и пришёл 8, ответ 2 числа)';
 c:=0;
 i:=1; while i<length(s) do begin
  while not (s[i] in ['0'..'9'])and(i<length(s)) do inc(i);
  while not (s[i] in ['0'..'9'])and(i<length(s)) do inc(i);
  inc(c);
  inc(i);
 end;
 write(c-1);readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2009, 13:57   #5
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Stilet
Ваша программа посчситает количество цифр в строке, а не чисел. Количество чисел необходимр считать так (относится только к целым)
Код:
var s:string;i,c:integer;
begin
 s:='например я пошёл 5 гулять в  и пришёл 10, ответ 2 числа)';
 c:=0;
 i:=1; 
 while i<length(s) do 
   if (s[i] in ['0'..'9']) then 
    begin
    inc(c);
    while (s[i] in ['0'..'9']) and (i<length(s)) do inc(i);
    end else inc(i);  
 write(c);{фраза содержит всё-таки 3 числа} readln;
end
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Старый 22.06.2009, 14:12   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

нехорошо сформулированная задача, не очень хороший пример, и, как результат, решение, которое ВОЗМОЖНО не решает задачу...
В строке надо посчитать количество чисел или цифр?
Это принципиально разные вещи. Если чисел - то какие могут быть числа?
Короче, прежде, чем программировать, надо ответить на вопрос "кол-во чисел в строке" для следующих примеров:
a) Я пошёл гулять в 10 часов и вернулся после принятия 500 граммов.

b) Я купил на рынке 12 килограммов картошки и 1.5 килограмма сыра.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.06.2009, 14:28   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Anatole
Прдон,очепятался. Второй While нужно писать без слова NOT
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет кол-ва значений в строке new_user БД в Delphi 1 03.06.2009 09:18
Сумма чисел в строке Oleg36 Помощь студентам 1 26.12.2008 08:39
Найти кол. палиндромов массива proger_noob Помощь студентам 8 05.12.2008 13:34
Как работать с очень большим кол-вом чисел?? Umnik1 Общие вопросы Delphi 16 25.11.2008 19:22
кол-во букв в строке символов (Си) Newman Помощь студентам 1 04.12.2007 02:19