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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2010, 15:56   #1
Яська
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 50
По умолчанию разбор числа в Delphi

Условие:
Дано натуральное число. Сколько раз последняя цифра встречается в данном числе.

вот мои наброски)программа не хотит работать(

procedure TForm1.Button1Click(Sender: TObject);
var k,m, n:integer;

y:integer;


begin

Label4.Visible:=true;


m:=y mod 10;// делю исходное число на 10 и остатку присваиваю m
k:=0;// счётчик цикла
While y div 10>0 do

begin

y:=y div 10;
n:=y mod 10;
if n= m then k:=k+1;
end;
Label4.Caption:=floattostr(k);


end;
Яська вне форума Ответить с цитированием
Старый 16.10.2010, 15:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Задание позволяет превращать число в строку?
если да то:
1) Преврати в строку
2) В цикле с конца до начала пройди по элементам строки и узнай сколько раз последний элемент появляется в строке
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.10.2010, 16:01   #3
Яська
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 50
По умолчанию

а зачем превращать число в строку?
Яська вне форума Ответить с цитированием
Старый 16.10.2010, 16:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А потому что так удобнее )
Число превращается в массив символов, по которому просто проходить
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.10.2010, 16:52   #5
Яська
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 50
По умолчанию

жаль,что я не умею работать с такими массивами(даже не сталкивалась
Яська вне форума Ответить с цитированием
Старый 16.10.2010, 17:32   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Яська
Предполагаю, что пользователь вводит число в Edit.
Кидаешь на форму Edit и Button. Создаешь событие OnClick для Button.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  k, i: integer; //счетчики
  ch: char;  // для нашего символа - последняя цифра в числе
  str: string; //сюда будем считывать строку
begin
  str := Edit1.Text;
  ch := str[length(str)]; //считываем последний символ в строке
  k := 0;
  for i := 1 to length(str) do
    if str[i] = ch then // тут устраиваем проверку на совпадение
      Inc(k);

  ShowMessage('Цифра ' + ch + ' Встречается ' + IntToStr(k) + ' раз(а)');
end;
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 16.10.2010 в 17:42.
Roof вне форума Ответить с цитированием
Старый 16.10.2010, 18:00   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. А если всетки позарез нужно превратить переменную числовую то используют функции FloatToStr и intToStr
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.10.2010, 18:06   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Яська, направление верное, но есть ошибка.
Вот мой вариант:
Код:
count:=0;
k:=Num mod 10; //последняя цифра числа
Num:=Num div 10;
while Num>0 do
  begin
    if Num mod 10 = k then Inc(count);
    Num:=Num div 10
  end;
//count содержит количество повторений последней цифры числа
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 16.10.2010, 18:13   #9
Яська
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 50
По умолчанию

спасибо всем огромное)всё получилось)
Яська вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор целого числа на отдельные символы Crystallon Общие вопросы Delphi 4 12.09.2010 20:20
Разбор выражений.Delphi novi4ok_Delphi Помощь студентам 3 18.05.2010 17:51
разбор пути m_kostik Win Api 3 01.04.2010 22:25
Простенькая задача в Делфи: разбор натурального числа Fantazerishka Помощь студентам 4 23.09.2009 17:13
разбор текста Teksa Помощь студентам 1 10.11.2008 20:14