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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 19:58   #1
V@mpir
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 54
По умолчанию Количество чисел кратных двум

В общем есть задача! В файле (текстовом) находиться число, нужно посчитать какое количество цифр содержится в этом файле кратных двум.

Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
f:textfile;
inn,w:string;
i:integer;
begin
AssignFile(f,'in.txt');
reset(f);
while not Eof(f)do
begin
readLn(f,inn);
Memo1.Lines.Append(inn);
end;
CloseFile(f);
w:=memo1.Lines.Strings[1];
for i:=1 to length(w) do
if i div 2 = 0 then
end;

end.
Хм... какой то зачаток, (пришедший мне в голову),если он вообще имеет смысл.
V@mpir вне форума Ответить с цитированием
Старый 25.04.2009, 20:17   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var N,t : longint;
count,k : integer;
f : textfile;
begin
assignfile(f,'test.txt');
reset(f);
read(f,N);
t := N;
count := 0;
while N>0 do
 begin
 k := N mod 10;
 if k mod 2 = 0 then inc(count);
 N := N div 10;
 end;
ShowMessage('Количество четных цифр в числе '+IntToStr(t)+': '+IntToStr(count));
closefile(f);
end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 20:20   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от V@mpir Посмотреть сообщение
Хм... какой то зачаток, (пришедший мне в голову),если он вообще имеет смысл.
Да... если это семечко — то каков же плод?!!...

(Для файла Word’овского, благодаря шаблону "[02468]", сей подсчёт пишется в 7 строчек: 1 цикл и 1 сравнение!)

Последний раз редактировалось Sasha_Smirnov; 26.04.2009 в 04:49.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 25.04.2009, 20:23   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov
Да... если это семечко — то каков же плод?!!...
Во всяком случае, не съедобным
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 20:52   #5
Андрей Куб
Пользователь
 
Регистрация: 13.05.2008
Сообщений: 12
По умолчанию

i div 2 это целая часть от деления а не дробная, вот по этому у тебя и не считало.
Андрей Куб вне форума Ответить с цитированием
Старый 25.04.2009, 20:56   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
i div 2 это целая часть от деления а не дробная, вот по этому у тебя и не считало.
Проблема была далеко не только в этом.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 21:09   #7
V@mpir
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 54
По умолчанию

Sazary, Не мог бы объяснить для чего здесь эти две строчки понятно, что они нужны и без них не робит ничего, но хотелось бы понять для чего они и разобраться до конца.
Цитата:
t := N;
Это вот. Тут я не понял зачем присваивать переменной некое знаечние которое такого же типа??

Цитата:
N := N div 10;
И эта строчка, что она означает я то понял, но вот зачем это??
V@mpir вне форума Ответить с цитированием
Старый 25.04.2009, 21:14   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
t := N;
Переменная t нужна только для того, чтобы сохранить исходное число (которое будет изменяться). Если вам это не нужно, то можете удалить строчку (подкорректировав все, что связано с этой переменной).

Поясняю цикл:
Код:
while N>0 do
 begin
 k := N mod 10; // получаем очередную цифру исходного числа
 if k mod 2 = 0 then inc(count);
 N := N div 10;  // делим число на 10, чтобы на следующей итерации получить очередную цифру
 end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана последовательность с n целых чисел. Найти количество елементов, кратных ее первому елементу Alex1991 Помощь студентам 3 10.03.2009 09:02
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12
Найти сумму всех чисел из промежутка от А до В, кратных 8 и 16 nickky2 Паскаль, Turbo Pascal, PascalABC.NET 8 05.12.2008 13:27
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53