Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
1 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 18
1

Определить есть ли в заданном четырехзначном числе четная цифра

29.06.2014, 16:10. Показов 7948. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите составить программу определяющую есть ли в введенном вручную четырехзначном числе четная цифра.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2014, 16:10
Ответы с готовыми решениями:

Определить, есть ли цифра 0 в заданном числе
Составить программу,которая определяет есть ли среди первых трёх чисел заданного вещественного...

В заданном натуральном трехзначном числе N имеется четная цифра
В заданном натуральном трехзначном числе N имеется четная цифра

Проверить истинность высказывания: В заданном натуральном трехзначном числе N имеется четная цифра
Составить линейную программу, печатающую значение true, если указанное высказывание является...

Определить, сколько раз в четырехзначном числе встречается максимальная цифра
Кольцо раз в данном четырех значном числе встречается максимальная цифра? Добавлено через 4...

14
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 17:07 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
var a,b,k:integer;
begin
 write('a=');
  readln(a);
 repeat
  b:=a mod 10;
   if not(odd(b)) then
    inc(k);
  a:=a div 10;
 until a=0;
 if k<>0 then
  writeln('Äà,åñòü')
 else
  writeln('Íåòó..');
end.
0
1 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 18
29.06.2014, 17:27  [ТС] 3
Надо 4х значное, а не любое число
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 17:29 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses crt;
const n=4;
var a,b,k,i:integer;
    x:array[1..n] of integer;
begin
 for i:=1 to n do
  readln(x[i]);
 clrscr;
 write('×èñëî - ');
  for i:=1 to n do
   write(x[i]);
  writeln;
 for i:=1 to n do
  begin
   b:=x[i] mod 10;
    if not(odd(b)) then
     inc(k);
    x[i]:=x[i] mod 10;
  end;
 if k<>0 then
  writeln('Äà,åñòü')
 else
  writeln('Íåòó..');
end.
0
1 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 18
29.06.2014, 17:31  [ТС] 5
спасибо!
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
29.06.2014, 17:41 6
readln(x[i]);
Немного странный ввод числа (цифра Enter)
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 17:45 7
Цитата Сообщение от Iriini Посмотреть сообщение
Немного странный ввод числа (цифра Enter)
а что вам не нравиться ?
0
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
29.06.2014, 17:48 8
Можно и без цикла. Вот так, например, если без проверки ввода:
Pascal
1
2
3
4
5
6
7
8
9
var a: integer;
begin
  write('a = ');
  readln(a);
  if (a mod 2 = 0) or (a div 10 mod 2 = 0) or (a div 100 mod 2 = 0) or (a div 1000 mod 2 = 0)
    then writeln('Да, есть.')
    else writeln('Нету...');
  readln
end.
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
29.06.2014, 17:49 9
Svager, просто обычно ввод числа предполагает последовательный ввод его цифр.
Наверное, логично было бы оставить первое решение (или просто поставить там цикл при обработке цифр до 4,
если автору поста это принципиально).
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 17:51 10
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
если без проверки ввода:
а если с проверкой,только 4х значное?

Добавлено через 51 секунду
Цитата Сообщение от Iriini Посмотреть сообщение
Svager, просто обычно ввод числа предполагает последовательный ввод его цифр.
Наверное, логично было бы оставить первое решение (или просто поставить там цикл при обработке цифр до 4,
если автору поста это принципиально).
лучше всегда пользоваться readln...Вы можете написать, через просто реад,хозяин барин .
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
29.06.2014, 17:56 11
Вы можете написать, через просто реад,
Тоже будет не совсем корректно. Тогда необходимо числовые значения (цифры) разделять пробелами.
хозяин барин
Мне, кажется, что дело здесь не в претензиях, а в желании увидеть оптимальный код.
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 18:01 12
Цитата Сообщение от Iriini Посмотреть сообщение
Мне, кажется, что дело здесь не в претензиях, а в желании увидеть оптимальный код.
нуу,смотрите Тс-у нужно было дабы только 4х числа, я написал для всех не понравилось,вязл массив, и написал дабы он сам вводил число, но ввод только через реад,и реадлн...можно вообще было не вводить, а рандомить массив...ну мне кажется, самое первое решение или решение ,Cyborg Drone оно вообще в 9 строчек для любых чисел)
0
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
29.06.2014, 18:02 13
Вот со всеми мыслимыми проверками:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var a, e: integer;
    s: string;
begin
  repeat
    write('Введите целое четырёхзначное число: ');
    readln(s);
    val(s, a, e);
    if (e > 0) or (abs(a) < 1000) or (abs(a) > 9999) then writeln('Ошибка ввода.')
  until (e = 0) and (abs(a) >= 1000) and (abs(a) <=9999);
  if (a mod 2 = 0) or (a div 10 mod 2 = 0) or (a div 100 mod 2 = 0) or (a div 1000 mod 2 = 0)
    then writeln('Чётные цифры есть.')
    else writeln('Чётных цифр нет.');
  readln
end.
0
399 / 378 / 408
Регистрация: 14.09.2013
Сообщений: 1,204
29.06.2014, 18:04 14
Cyborg Drone, ну вот,ну просто красота)
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
29.06.2014, 18:06 15
самое первое решение
Было оптимальным. Следовало, наверное, объяснить автору вопроса, что общий случай подходит и для частного
0
29.06.2014, 18:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2014, 18:06
Помогаю со студенческими работами здесь

Определить, есть ли в заданном четырехзначном числе а цифры 5 и 8
люди решите задачи ((((( а то накрыло по полной 12 долгов 1)определить в qbasic есть ли в...

В заданном натуральном трехзначном числе N имеется четная цифра
В заданном натуральном трехзначном числе N имеется четная цифра Добавлено через 3 минуты...

Определить, есть ли в заданном числе указанная цифра
скиньте пожалуйста код программы на с++ которая будет показывать есть ли в числе цифра 3.

Проверить истинность высказывания: В заданном натуральном трехзначном числе N имеется четная цифра
Нужна помощь.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru