Помогите, пожалуйста, с задачками на TP!!!

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Eric_Cartman
Сообщения: 1
Зарегистрирован: 13 дек 2007, 16:19

У меня 10 простых для вас, я думаю, задачек, первую сделал сам, а дальше ну вобще никак не могу. Решите, пожалуйста, хоть одну из девяти задач, от этого зависит моя жизнь). Вот несколько?

1. Дано натуральное число. Найти кол-во четных цифр этого числа.
Верно ли то, что в числе содержится две цифры А (А вводится с клавы)?

2. а) Найти кол-во делителей натурального числа. Сколко из них четных?
б) Для каждого числа из промежутка от 100 до 200 определить кол-во его четных делителей.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

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.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Код: Выделить всё

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)
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

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.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

2 Хыиуду: можно. Ну люблю я через "set of char", чтож поделать.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Хыиуду писал(а):

Код: Выделить всё

if ord(s[i]) mod 2 = 0  then ...
Или так (типа, в паскале специальная функция есть - на проверку нечетности :) ):

Код: Выделить всё

if (NOT ODD (ord(s[i]) - ord ('0'))) then .... 
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

ВВВ, я обычно тоже так делаю. Но все, кому я так делаю, смотрят на меня круглыми глазами и плачут, что они это еще не проходииииилиии, и что их препод запааалииит!
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить