Помогите, пожалуйста, с задачками на TP!!!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
-
- Сообщения: 1
- Зарегистрирован: 13 дек 2007, 16:19
У меня 10 простых для вас, я думаю, задачек, первую сделал сам, а дальше ну вобще никак не могу. Решите, пожалуйста, хоть одну из девяти задач, от этого зависит моя жизнь). Вот несколько?
1. Дано натуральное число. Найти кол-во четных цифр этого числа.
Верно ли то, что в числе содержится две цифры А (А вводится с клавы)?
2. а) Найти кол-во делителей натурального числа. Сколко из них четных?
б) Для каждого числа из промежутка от 100 до 200 определить кол-во его четных делителей.
1. Дано натуральное число. Найти кол-во четных цифр этого числа.
Верно ли то, что в числе содержится две цифры А (А вводится с клавы)?
2. а) Найти кол-во делителей натурального числа. Сколко из них четных?
б) Для каждого числа из промежутка от 100 до 200 определить кол-во его четных делителей.
Строка проверяет все символы, не только цифры. Поэтому если у тебя есть строгое ограничение - поставь "защиту от дурака".Eric_Cartman писал(а): 1. Дано натуральное число. Найти кол-во четных цифр этого числа.
Код: Выделить всё
uses crt;
type
C1 = set of char;
var
C:C1;
S:string;
i,j:integer;
begin
clrscr;
C:=['0','2','4','6','8'];
write('input string: ');
readln(s);
for i:=1 to length(s) do begin
if s[i] in C then inc(j);
end;
writeln('Quantity of even numbers = ',j);
readln;
end.
Код: Выделить всё
s:=str(N);
for i:=1 to length(s) do
begin
if ord(s[i]) mod 2 = 0
then inc(j);
if s[i]=A then inc(A_count);
end;
По второй задаче: а делится на с, если a mod c=0. А нечетное, если not odd(A)
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Я так и не понял это одним заданием идет или нет?Eric_Cartman писал(а): Верно ли то, что в числе содержится две цифры А (А вводится с клавы)?
Вообщем сделал отдельно, если надо - склеешь
Код: Выделить всё
uses crt;
var
s:string;
i,j:integer;
a:char;
begin
clrscr;
write('input num: ');
readln(s);
write('input A: ');
readln(a);
for i:=1 to length(s) do begin
if s[i]=a then inc(j);
end;
writeln;
write('Whether that among contains two figures "',a,'" is true?');
if j=2 then
write(' - Yes')
else writeln(' - No');
readln;
end.
2 Хыиуду: можно. Ну люблю я через "set of char", чтож поделать.
Или так (типа, в паскале специальная функция есть - на проверку нечетностиХыиуду писал(а):Код: Выделить всё
if ord(s[i]) mod 2 = 0 then ...

Код: Выделить всё
if (NOT ODD (ord(s[i]) - ord ('0'))) then ....
ВВВ, я обычно тоже так делаю. Но все, кому я так делаю, смотрят на меня круглыми глазами и плачут, что они это еще не проходииииилиии, и что их препод запааалииит!
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.